War gerade mal im Lazarus-Forum und habe da was gefunden. Hier erstmal der aktuelle Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var nr,stat:string;
begin
nr:=qrmain.FieldByName('ID').AsString;
showmessage(nr);
dbmain.Close;
dbmain.Open;
if dbmain.Connected=true then
begin
dbmain.Connected:=false;
end;
dbmain.Connected:=true;
trmain.StartTransaction;
qrmain.Close;
qrmain.SQL.Clear;
qrmain.SQL.text:='UPDATE Korrekturen SET Status=:Status where ID=:ID;';
qrMain.params.ParamByName('Status').AsString:='Erledigt';
qrMain.params.ParamByName('ID').AsString:=nr;
showmessage( qrMain.params.ParamByName('Status').AsString+' '+ qrMain.params.ParamByName('ID').AsString);
qrmain.ExecSQL;
trmain.commit;
trmain.EndTransaction;
dbgrid1.Update;
qrmain.Close;
qrmain.SQL.Text:='SELECT ID,Lager,Artikel,Menge_soll,Menge_Ist,Kommentar,Erfasser,Status,Datum,Uhrzeit From Korrekturen;';
qrmain.Open;
qrmain.Refresh;
end;
Wie man sehen kann, habe ich mit den "Showmessages" Kontrollen eingebaut, um die relevanten Werte zu prüfen....alles stimmt. Jedoch ändert er die Daten nicht, allerdings kommt auch keine Fehlermeldung mehr. Wenn ich das
SQL-Statement direkt in
IB-Expert ausführe wird auch alle entsprechend geändert. Könnte hier eventuell mein Trigger (erhöht die ID und trägt die Erfassungsuhrzeit sowie Datum ein) hinderlich sein??