Einzelnen Beitrag anzeigen

tuxracer78

Registriert seit: 19. Jul 2004
Ort: Halle (Westf.)
31 Beiträge
 
Delphi XE5 Professional
 
#1

Sybase SQL Anywhere SQL Problem (Datum)

  Alt 11. Aug 2004, 09:51
Hallo,

Ich manipuliere eine SQL-Abfrage mit einem DateTimePicker. Mit MySQL hat das wunderbar funktioniert, nur mit Sybase SQL Anywhere nicht.
Ich bekomme folgende Fehlermeldung beim Kompilieren: Meldung: '[Sybase][ODBC Driver]: cannot convert 01.01.2004 to a date/time.'
Wenn ich mir aber mit Delphi über den ODBC-Treiber zum Test das Belegdatum eines Datensatzes anschaue (z.B. über ein DBText), erscheint es im Format 00.00.0000. Dann habe ich zum Test 'Seldate := DateToStr(DateTimePicker1.Date)' in 'Seldate := DateTimeToStr(DateTimePicker1.DateTime)' geändert. Das Ergebnis ist der gleiche Fehler. Kann es sein, daß Sybase SQL Anywhere bzw. der ODBC-Treiber das Datum auf Deutsch anzeigt, in Abfragen aber Amerikanische Schreibweise fordert?

Auszug aus dem code:
Delphi-Quellcode:
procedure TForm1.Action2Execute(Sender: TObject);
var Seldate: String; Anzahl: Integer;
begin
  Seldate := DateToStr(DateTimePicker1.Date);
  With ADOQuery1 do
    Begin
      SQL.Text:= 'SELECT KHKVKBelege.A0Empfaenger AS Kunde, KHKVKBelege.A1Anrede, KHKVKBelege.A1Name1, KHKVKBelege.A1Name2, KHKVKBelege.A1Strasse, KHKVKBelege.A1PLZ, KHKVKBelege.A1Ort, KHKVKBelege.Belegdatum FROM KHKVKBelege WHERE KHKVKBelege.Belegdatum >= :i_Date';
      Prepared := True;
      ADOQuery1.Parameters.ParamByName('i_Date').Value := Seldate;
end;

Gruss

Gregor

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
Gregor
  Mit Zitat antworten Zitat