2016-05-06 6 views
1

Ich habe einen SQLTIMESTAMP binded (SQL-Ausgang der Abfrage von Datenmodul)Delphi XE7 Multidevice SQL Fehler TIMESTAMP Ret. Feld

(On Live-Bindungen) -> BindVIsually TTMFSMXGRID.

Wenn ich die Abfrage öffnen, wird das Feld im Raster (EX: 06/05/2016, etc.) korrekt gefüllt

Aber wenn ich versuche, die Cell[x,y] als StringToSqltimestamp es wieder in einem anderen Format kommen zu nehmen (WRONG FORMAT). Und ich versuche, Feld für eine Abfrage zu verwenden, damit es mir einen Fehler (EOF) macht, weil nichts in diesem Datum findet.

dm1.UpdMsg.ParamByName('data').AsSQLTimeStamp:=StrToSQLTimeStamp(GrRec.Cells[1,GrRec.FocusedCell.Row]); 

Irgendeine Idee darüber, wie man es löst?

Antwort

0

Wie andere Formatierfunktionen für Datum/Uhrzeit verwendet StrToSqlTimeStamp() standardmäßig Formatierungskriterien, die auf dem aktuellen Systemgebietsschema basieren. Wenn dies nicht dem entspricht, was Sie benötigen (z. B. können Tag und Monat vertauscht sein), können Sie die überladene Version verwenden, die eine TFormatSettings als Eingabe akzeptiert, damit Sie sie anpassen können.

var 
    Fmt: TFormatSettings; 
begin 
    // Get default settings first... 
    Fmt := TFormatSettings.Create; 

    // customize Fmt as needed... 
    Fmt.ShortDateFormat := 'dd/mm/yyyy'; 
    Fmt.DateSeparator := '/'; 

    // not convert... 
    dm1.UpdMsg.ParamByName('data').AsSQLTimeStamp := StrToSQLTimeStamp(GrRec.Cells[1,GrRec.FocusedCell.Row], Fmt); 
end; 
+0

Vielen Dank, aber, was meinst du für '' // Fmt nach Bedarf anpassen ... ''? Vergangene Zeichenkette // - // - // Neue Zeichenkette // - // - //? Wie eine String-Funktion als (Replace/Copy/Mod)? – AncientSniper94

+0

@ Furma94: Ich habe meine Antwort aktualisiert. –

+0

Vielen Dank, ich werde es so bald wie möglich versuchen. Vielen Dank ! – AncientSniper94