![]() |
TQuery.Open funktioniert nicht richtig
Ich hab mit Delphi zwei Views auf eine Sybase Datenbank erstellt.
Im Programm lade ich später die Daten z.B. über folgende Abfrage:
Delphi-Quellcode:
auf dieselbe View und eine weitere View starte ich dann ähnliche Abfragen:
SELECT * FROM Garantie_View WHERE (ablaufdatum BETWEEN ' +
':startdatum AND :enddatum)
Delphi-Quellcode:
Anschließend geb ich den jeweiligen SQLBefehl an eine Funktion weiter, die ein StringGrid füllen soll.
sqlBefehl2 := 'SELECT * FROM Garantie_View WHERE (bf_pov_feld_5 BETWEEN ' +
':startdatum AND :enddatum)'; sqlBefehl3 := 'SELECT * FROM Garantie_View2 WHERE (bf_pov_feld_5 BETWEEN ' + ':startdatum AND :enddatum)'; Alle Abfragen funktionieren, bis auf die erste!!! Und wenn ich die Abfrage handisch in der Datenbank als SQL-Abfrage mache, klappt das auch ohne Probleme. Was mache ich falsch??? So sieht die Funktion mit dem Füllen des Grids aus:
Delphi-Quellcode:
er hat direkt beim ersten durchlauf eof!!
qryDatenbank.SQL.Text := sql;
qryDatenbank.Prepared := true; //start_datum entspricht dem aktuellen Datum qryDatenbank.ParamByName('startdatum').DataType := ftDate; qryDatenbank.ParamByName('startdatum').Value := Date; qryDatenbank.ParamByName('enddatum').DataType := ftDate; qryDatenbank.ParamByName('enddatum').Value := m_end_Datum; try qryDatenbank.Open; while not qryDatenbank.Eof do ... |
Re: TQuery.Open funktioniert nicht richtig
Wie greifst Du auf die DB zu (BDE/ADO/dbExpress)?
Falls Du D5 und ADO verwendst: Hast Du schon den ADOExpress-Patch installiert? |
Re: TQuery.Open funktioniert nicht richtig
ne, ich greife über die BDE auf die Datenbank zu.
Hab eine TQuery und eine DataSource-Komponente auf dem Formular, die das STringGrid füllt. |
Re: TQuery.Open funktioniert nicht richtig
Probier mal den Parameter mit AsDate zu setzen, statt mit Value.
|
Re: TQuery.Open funktioniert nicht richtig
Hänge doch mal testweise eine Datasource und ein DBGrid an deine TQuery und schau mal, welche Datenmenge dir die Abfrage zurückgibt.
Wenn EOF gleich nach dem Open TRUE ist dann gibt es keine Daten die in die Abfrage passen ... oder das Format der Übergabeparameter ist falsch. (passiert grade bei Datums- und Zeitwerten recht oft wegen der vielen Formate (dd.mm.yyyy, dd.mm.yy, MM/DD/YYYY usw ...) ) :hi: |
Re: TQuery.Open funktioniert nicht richtig
Das ist ein Problem mit dem Datums-Format.
Vesuch mal im ODBC-Treiber, bzw. der BDE eine andere Sprache einzustellen (Englisch, Deutsch, usw.). |
Re: TQuery.Open funktioniert nicht richtig
Aber kann denn das Format der Datumsabfrage falsch sein, wenn alle anderen Abfragen mit Datumsabfragen funktionieren??? :roll:
|
Re: TQuery.Open funktioniert nicht richtig
oooopppsssss :oops: :oops: :oops:
Lag wohl doch am Datum... :roll: Danke...! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz