Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Weitere Fehlermeldung bei Feldtypen für FireBird 5.0 (https://www.delphipraxis.net/214765-weitere-fehlermeldung-bei-feldtypen-fuer-firebird-5-0-a.html)

NoName1 6. Mär 2024 12:56

Datenbank: FireBird • Version: 5 • Zugriff über: egal

Weitere Fehlermeldung bei Feldtypen für FireBird 5.0
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag Entwickler,
Nachdem ich mit der Datenbank von FireBird 2.5 auf FireBird 5.0 umgestiegen bin, gibt es einige Schwierigkeiten
beim Ausführen des Programms.
Ich habe folgende SQL-Anweisung:
Delphi-Quellcode:
select count(*) as Anzahl from lateilnehmer
where datum = :pDatum
and adressid = :pAdressID
and beginn = :pBeginn
Beim Übergeben der Parameter wird bei der Übergabe mit der Exception: EIntOverflow abgebrochen:
Delphi-Quellcode:
  Result := False;
  sqlBrdVorhanden.Close;
  sqlBrdVorhanden.ParamByName('pDatum').AsDateTime := aDatum; // <<hier wird unterbrochen
  sqlBrdVorhanden.ParamByName('pAdressID').AsInt64 := aAdressID;
  sqlBrdVorhanden.ParamByName('pBeginn').AsString := aBeginn;
  sqlBrdVorhanden.ExecQuery;
  if sqlBrdVorhanden.FieldByName('Anzahl').AsInteger > 0 then
    Result := True;
  sqlBrdVorhanden.Close;
Welchen Datentyp an stelle von DateTime soll denn verwendet werden? Die Spalte in der Tabelle ist auch vom Typ TDateTime. In der Anlage die Fehlermeldung.

Vielen Dank für Eure Hilfen im Voraus.

Delphi.Narium 6. Mär 2024 13:16

AW: Weitere Fehlermeldung bei Feldtypen für FireBird 5.0
 
Zitat:

Zitat von NoName1 (Beitrag 1534234)
Welchen Datentyp an stelle von DateTime soll denn verwendet werden? Die Spalte in der Tabelle ist auch vom Typ TDateTime. In der Anlage die Fehlermeldung.

TDateTime ist ein Datumstyp von Delphi und nicht von FireBird. FireBird kennt keinen Datumstypen TDatetime. Die Datumstypen von FireBird findest Du hier: Data Types and Subtypes

Schau doch bitte einfach mal ins Createstatement der Tabelle, welchen Datentypen die Spalte in der Datenbanktabelle hat. Dann können wir schauen, wie Du mit dem Problem umgehen kannst.

Falls Du keine passende Datenbankoberfläche zur Verfügung hast, kannst Du die Metadaten der Datenbank auch von der Kommandozeile aus ausgeben lassen:
Code:
c:\FirebirdBinVerzeichnis\isql.exe -ex -u DeinUserName -p DeinPasswort -o c:\Datenbanken\Datenbankname.MetaData.sql c:\Datenbanken\Datenbankname.fdb
In Datenbankname.MetaData.sql findest Du dann alle relevanten Informationen zu den Datentypen, ...

hoika 6. Mär 2024 13:17

AW: Weitere Fehlermeldung bei Feldtypen für FireBird 5.0
 
Hallo,
welchen Datentyp hat aDatum?

NoName1 6. Mär 2024 14:31

AW: Weitere Fehlermeldung bei Feldtypen für FireBird 5.0
 
Vielen Dank für Eure Hinweise.
Ich habe den Fehler gefunden. Im Programm habe ich Wertzuweisung für den Parameter "pDatum" enabeld.:evil: So etwas kann passieren und es passiert auch.
Damit ist dies auch erledigt.

Frickler 6. Mär 2024 17:15

AW: Weitere Fehlermeldung bei Feldtypen für FireBird 5.0
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1534236)
Falls Du keine passende Datenbankoberfläche zur Verfügung hast, kannst Du die Metadaten der Datenbank auch von der Kommandozeile aus ausgeben lassen:

Ansonsten geht auch der FlameRobin ganz ordentlich: https://github.com/mariuz/flamerobin

(kann mit IBExpert natürlich nicht mithalten...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz