Hallo Gemeinde,
Delphi 10.3 Community Edition.
Windows 10
Devart MyDac 10.0.1
Datenbank
MySql MariaDB
bin am verzweifeln.
Die Procedure hat immer funktioniert und jetzt nicht mehr.
Will ein Feld (Systole) in der Tabelle vital ändern.
Geht aber nicht.
Delphi-Quellcode:
Form1.MyCommand1.SQL.Clear;
Form1.MyCommand1.SQL.Add('UPDATE vital SET Systole=:Sys WHERE Nachname=:Nac AND Vorname=:Vor AND Geburtsdatum=:Geb AND Datum=:Dat AND Uhrzeit>=:Uhr1 AND Uhrzeit<=:Uhr2');
Form1.MyCommand1.ParamByName('Sys').Name:='Sys';
Form1.MyCommand1.ParamByName('Sys').DataType:=ftInteger;
Form1.MyCommand1.ParamByName('Sys').Value:=e3sys;
Form1.MyCommand1.ParamByName('Nac').Name:='Nac';
Form1.MyCommand1.ParamByName('Nac').DataType:=ftString;
Form1.MyCommand1.ParamByName('Nac').Value:=e3nn;
Form1.MyCommand1.ParamByName('Vor').Name:='Vor';
Form1.MyCommand1.ParamByName('Vor').DataType:=ftString;
Form1.MyCommand1.ParamByName('Vor').Value:=e3vn;
Form1.MyCommand1.ParamByName('Geb').Name:='Geb';
Form1.MyCommand1.ParamByName('Geb').DataType:=ftDateTime;
Form1.MyCommand1.ParamByName('Geb').Value:=e3geb;
Form1.MyCommand1.ParamByName('Dat').Name:='Dat';
Form1.MyCommand1.ParamByName('Dat').DataType:=ftDateTime;
Form1.MyCommand1.ParamByName('Dat').Value:=e3dat;
Form1.MyCommand1.ParamByName('Uhr1').Name:='Uhr1';
Form1.MyCommand1.ParamByName('Uhr1').DataType:=ftDateTime;
Form1.MyCommand1.ParamByName('Uhr1').Value:=h8;
Form1.MyCommand1.ParamByName('Uhr2').Name:='Uhr2';
Form1.MyCommand1.ParamByName('Uhr2').DataType:=ftDateTime;
Form1.MyCommand1.ParamByName('Uhr2').Value:=h9;
Form1.MyCommand1.Execute;
if SqlRet then
begin
SqlRet ist der Rückgabewert (Result) aus TForm1.MyCommand1AfterExecute(Sender: TObject; Result: Boolean);
SqlRet ist TRUE
Der Wert Systole in Datenbank ist vorher und nachher 135.
Wert e3sys (im Parameter sys) ist aber 137
Alle anderen Paramerterwerte sind in Ordnung.
Nach Execute ist der Wert Systole in Datenbank immer noch 135.
Hat jemand eine Idee was das ist?
Oder wie man das testen kann?
Danke und Gruß
Jürgen