Hallo,
ich möchte gerne Daten von einem Meßgerät in meine Datenbank schreiben. Hierbei ist bei mir folgendes Problem aufgetreten:
Ich verwende einen Timer welcher alle 30 Sek den wert in die Datenbank schreiben soll.
Die Datenbank hat 3 Spalten:
- id (bigserial)
- value (real)
- obtime (timestamp without timezone)
Delphi-Quellcode:
procedure TForm1.timerTimer(Sender: TObject);
var H,M,S,ms : Word;
aktzeit : ttime;
aktdatetime : tdatetime;
begin
// auf 30 Sekunden runden
Decodetime(now, H, M, S, ms);
S := (S
div 30) * 30;
aktzeit := Encodetime(H, M, S, ms);
aktdatetime := strtodatetime(datetostr(now) + '
' + timetostr(aktzeit));
// In Datenbank speichern
sql.SQL.Clear;
sql.SQL.Text := '
INSERT INTO "' + SQLtabelle + '
" ("obtime", "value") VALUES (:obtime, :value);';
sql.Parameters.ParamByName('
obtime').Value := aktdatetime;
sql.Parameters.ParamByName('
value').Value := aktwert;
sql.ExecSQL;
end;
nun erhalte ich die Fehlermeldung: "Typname ist ungültig"
Wenn ich den
sql Befehl nur mit value ausführe, funktioniert es.
Ich bin für jede Hilfe sehr dankbar.
MfG Willy