Thema: Delphi Sql Datum vergleich

Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Sql Datum vergleich

  Alt 14. Apr 2004, 13:09
Moin Reinhard

Liegt Versand_Datum als Datum in der DB vor, dann kann es, wenn die Regionaleinstellungen des DB Servers von denen des Clients abweichen, ganz schnell nach hinten losgehen.
Denn bei der implizierten Umwandlung Date->String / String->Date entscheiden nunmal die Regionaleinstellungen.
Wenn du das Ganze in der Art wie im Code-Schnipsel machst, dann wird exakt ein Datum mit einem Datum verglichen.
Weder der Client noch die DB haben dann noch eine Möglichkeit irgendwelchen Mist zu bauen. (Oft gesehen: Tag & Monat vertauscht)

Delphi-Quellcode:
Var
  such_Datum :TDate;
  //...
Begin
  //...
  Such_Datum := EncodeDate(2004, 04, 13);
  With DM_Auftrag.Q_Selbstbucher Do
  Begin
    SQL.Text :=
      'SELECT lName' + #10 +
      ' ,lName2' + #10 +
      ' ,lPz' + #10 +
      ' ,lOrt' + #10 +
      ' ,Versand_ID' + #10 +
      ' ,Versand_Datum' + #10 +
      'FROM Bestellung' + #10 +
      'WHERE Versand_Datum = :i_Such_Datum' + #10 +
      'GROUP BY Versand_ID';
    // Parsen des Statements um Query Parameter zu finden...
    Prepared := True;
    // Werte an Query Parameter übergeben...
    With Parameters.ParamByName('i_Such_Datum') Do
    Begin
      DataType := ftDate;
      Value := Such_Datum;
    End;
    Open;
    //...
  End;
  Mit Zitat antworten Zitat