Re: Datumseinschränkung wird nicht akzeptiert
Hallo Michael,
schau nochmal in die ADO-Referenz. Wenn ich die richtig interpretiere, dann muss die property Prepared nur einmal gesetzt werden. Der Provider merkt sich diese Einstellung und übersetzt das Statement zum richtigen Zeitpunkt. Im OI genügt die Einstellung zur Entwurfszeit, da der Provider die property auch dann auswertet, wenn sich der Command Text ändert. Bei dynamisch erzeugten Command Objects muss man daran denken, dass die Standardvorgabe False ist. Freundliche Grüße PS: Da ich bereits in Beitrag #2 auf die vermutlich fehlerhafte Schreibweise des Datum-Literals hingewiesen habe, lassen mich mittlerweile über 30 Beiträge in diesem thread an meiner sprachlichen Ausdrucksfähigkeit zweifeln. |
Re: Datumseinschränkung wird nicht akzeptiert
Hallo Achim,
du magst Recht haben, dass es normalerweise einmal reicht, Prepared auf True zu setzen. Leider habe ich im Zusammenhang mit Oracle häufig Probleme gehabt, wenn ich es nicht erneut gesetzt habe. Wohlgemerkt, nur, wenn mehrere Parameter im Spiel waren. Grüße Mikhal |
Re: Datumseinschränkung wird nicht akzeptiert
Hallo Michael,
das kann gut sein, ist dann aber eine fehlerhafte Implementierung der Spezifikation. Da ich keine Projekt-Erfahrung im Umgang mit Oracle habe, klinke ich mich mal wieder aus. Freundliche Grüße |
Re: Datumseinschränkung wird nicht akzeptiert
Hallo nochmal,
das Thema scheint ja doch mehrer zu beschäftigen, habe nun mal dne Qualltext angepasst. Ich bekomme auch Daten, aber eben nur 4 und im Query Reporter, selbe Abfrage, 12.
Delphi-Quellcode:
Ich finde dies sowieso ziemlich komisch, aber ich doctor schon so lange dran rum, kann doch nicht so schwer sein, in Delphi die Abfrage zu implementieren!
Bericht_query.close;
bericht_project.Open; //Qguar_Abfragen(); Bericht_query.SQL.Clear; Bericht_query.SQL.Text := 'SELECT trunc(Date_Completed) as Datum from qguaradm.DELIVERIES d where d.Firm_ID=''32770'' and d.Status <>''--'' and trunc(d.date_completed) between :Datum_von and :Datum_bis'; //Bericht_query.SQL.Text := Bericht_SQL_String; Bericht_query.Parameters.parambyname('Datum_von').Value:=strtodate('01.01.2007'); Bericht_query.Parameters.ParamByName('Datum_bis').Value:=strtodate('05.03.2007'); Bericht_query.Prepared := True; Bericht_query.SQL.SaveToFile('c:\a.txt'); Bericht_query.Open; Bericht_query.First; While not Bericht_query.Eof do Begin Showmessage(Bericht_query.FieldByName('Datum').AsString); Bericht_query.Next End; Danke für eure Hilfe, ich hoffe wir finden eine Lösung! |
Re: Datumseinschränkung wird nicht akzeptiert
Nochmal im Klartext:
Delphi-Quellcode:
So würde ich es probieren...
//...
Bericht_query.Parameters.parambyname('Datum_von').Value := EncodeDate(2007, 1, 1); Bericht_query.Parameters.ParamByName('Datum_bis').Value := EncodeDate(2007, 3, 5); //... |
Re: Datumseinschränkung wird nicht akzeptiert
Jo habe ich so probiert. So macht er die Abfrage auch, aber auch mit zu wenig Daten im Output. es Fehlen einfach welche!
|
Re: Datumseinschränkung wird nicht akzeptiert
Haben die fehlenden, etwas Gemeinsames?
|
Re: Datumseinschränkung wird nicht akzeptiert
Nur eins, die Daten fehlen nach dem 16.01.07, die Daten sind noch da, aber z.B die vom 19.01.07 fehlen und folgende auch!
|
Re: Datumseinschränkung wird nicht akzeptiert
Zitat:
Hier mal am Beispiel deiner Grundabfrage vom 1. Posting:
SQL-Code:
SELECT Date_Completed from DELIVERIES d where d.Firm_ID='32770' and d.Status <>'--' and d.date_completed>='01.01.2007'
|
Re: Datumseinschränkung wird nicht akzeptiert
Delphi-Quellcode:
Dann kommen 8 Datensätze, wohei 4 Davon aus 2006 sind. Aber das sind auch nicht alle!
Bericht_query.SQL.Text := 'SELECT trunc(Date_Completed) as Datum from qguaradm.DELIVERIES d where d.Firm_ID=''32770'' and d.Status <>''--'' and d.date_completed>=''01.01.2007''';
Aber auch, wenn ich die Eingrenung komplett weglasse, werden 8 Datensätze von 15 angezeigt. IM Query Reporter hingeben, selbe Abfrage, alle 15 da! Was soll das denn wieder. So langsamm denke ich, das an der Datenbank was nicht stimmt. Also wie die Daten abgelegt worden sind. [Edit] Auch wenn ich die Abfrage aus dem Query Reporter kopiere, und direkt in den Wide-Stringlisten-Editor einfüge, kommen auch nur 8 Datensätze! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 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