![]() |
AW: Probleme mit ADO und timestamp
Ich sehe grad das steht was mit Postgre.
Ich würde darauf Tippen das der ADO-Provider (u.U. auch der Delphi-Wrapper) hier ein paar Fehler mit PostgreSQL hat. Ich würde aber lieber native Zugriffskompos wie von ![]() Und als Argument gegen ADO gibts noch: Microsoft hat ADO/OLE DB abgekündigt. Sollte nicht mehr verwendet werden. Mann soll doch wieder auf das "gute alte" ODBC zurück gehen. |
AW: Probleme mit ADO und timestamp
Puh... dann bin ich ratlos :( Wie war nochmal die Felddefinition in der DB ?
Wäre statt ADO Zeos als Zugriff möglich ? Ein Versuch wäre es wert... |
AW: Probleme mit ADO und timestamp
Hmm ok danke, werd wohl schaun das ich zeos installiert bekomme und es damit noch mal versuchen.
|
AW: Probleme mit ADO und timestamp
Lass doch mal die doppelten Anführungszeichen weg:
Delphi-Quellcode:
Doppelte Anführungszeichen für Tabellen- und Feldnamen werden nicht benötigt solange du "saubere" Namen wählst, die nicht gegen die Regeln verstossen.
procedure TForm1.timerTimer(Sender: TObject);
var aktdatetime : tdatetime; begin aktdatetime := now; // In Datenbank speichern sql.SQL.Text := 'INSERT INTO ' + SQLtabelle + ' (obtime, value) VALUES(:obtime, :value)'; Assert(sql.Parameters.Count = 2); Assert(sql.Parameters.ParamInfoAvailable); sql.Parameters.ParamByName('obtime').Value := aktdatetime; sql.Parameters.ParamByName('value').Value := aktwert; sql.ExecSQL; end; Ausserdem ist der Strichpunkt ma Ende der SQL-Anweisung nicht nötig und auch der sql.SQL.Clear wird nicht gebraucht. Die Strategie ist: alles weglassen, was den Parser verwirren könnte. |
AW: Probleme mit ADO und timestamp
ich kenn e mich nicht mit PostGres aus, aber
TDateTime ist ein Double laut ![]() ist Timestamp dies nicht (oder zumindest nicht offensichtlich) TIMESTAMP 8 Bytes von 4713 v.u.Z. bis 1465001 u.Z. Datum und Zeit |
AW: Probleme mit ADO und timestamp
Vielen Dank für die Hilfe,
es scheint wirklich an der ado-connection zu liegen. Ich hab es jetzt mit Zeos gelöst und es funktioniert einwandfrei, auch ohne das man die parameter extra definieren muss. Es ist nur etwas nervig, dass man eine dll für postgre mitgeben muss und diese auch noch unterschiedlich für 32 und 64 bit systeme ist. MfG Willy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz