Moin...
Zitat:
Kann ja die ID im Quelltext nicht vorher festschreiben
...sollst du auch nicht. Du brauchst aber die DatensatzID des zu bearbeiten Datensatzes. Die mußt du irgendwo gespeichert haben. Wo holst du die Einträge in das Grid?
Delphi-Quellcode:
Datamodule1.ADOQuery4.SQL.Text := 'UPDATE Fragen SET Fach = :FA, Schwierigkeit = :SW, Frage = :FR, L1 = :L1, L2 = :L2, L3 = :L3, Lösung = :LO WHERE ID = :ID'; // besser keine Umlaute in den Feldern verwenden
Datamodule1.ADOQuery4.Parameters.ParamByName('FA').AsString := Editfr.Text; // ist das richtig? ...doppelt?
Datamodule1.ADOQuery4.Parameters.ParamByName('SW').AsString := Editschw.Text;
Datamodule1.ADOQuery4.Parameters.ParamByName('FR').AsString := Editfr.Text;
Datamodule1.ADOQuery4.Parameters.ParamByName('L1').AsString := EditL1.Text;
Datamodule1.ADOQuery4.Parameters.ParamByName('L1').AsString := EditL2.Text;
Datamodule1.ADOQuery4.Parameters.ParamByName('L3').AsString := EditL3.Text;
Datamodule1.ADOQuery4.Parameters.ParamByName('LO').AsString := EditLr.Text;
Datamodule1.ADOQuery4.Parameters.ParamByName('ID').AsInteger := StrToInt(Editid.Text); // besser aus der geladenen Datenmenge holen
Datamodule1.ADOQuery4.ExecSQL;