Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: DateTime als Parameter übergeben

  Alt 21. Dez 2004, 13:40
Zitat von Klarabella:
Wie mache ich das? Wie erstelle ich die Parameter und wie übergebe ich sie?
Ich würde in Deinem Fall folgende Reihenfolge vorschlagen:
  • TQuery.SQL.Text zuweisen
  • Parameter zuweisen (Datum inkl. Zeit mit AsDateTime oder Datum mit der Zeit 00:00:00 mit AsDate)
  • TQuery öffnen
Wenn Du zuerst Parameter zuweist, kann es passieren, dass beim zuweisen des SQL.Text die Parameter verloren gehen.

AsDate, AsTime und As DateTime haben alle den Typ TDateTime.
Wenn Du nur eine Datum (Uhrzeit = '00:00:00') hast, verwende ParamByName('...').AsDate.
Wenn Du nur eine Uhrzeit hast, verwende ParamByName('...').AsTime.
Wenn Du einen Wert mit Datum und Uhrzeit hast, verwende ParamByName('...').AsDateTime.

Ich würde kein Datum mit AsTime übergeben.
Das mag zwar funktionieren, aber in einer anderen Delphi Version z.B. D2006 kann das schon anders sein.
Ich verwende daher grundsätzlich AsDateTime.

Delphi-Quellcode:
  sqlBefehl1 := 'SELECT * FROM Garantie_View WHERE (ablaufdatum BETWEEN ' +
             ':startdatum AND :enddatum)';

  qryDatenbank.SQL.Text := sqlBefehl1;
  qryDatenbank.ParamByName('startdatum').AsDate := Date;
  qryDatenbank.ParamByName('enddatum').AsDateTime := StrToDateTime(m_end_Datum);
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat