Morgen,
ich hab eine
DB, der User wählt über ein DBGrid einen Datensatz aus. Der Grid ist mit
SQL sortiert - indiziert wird über ein Feld, welches immer eine spezielle Nummer enthält - Feld Name: 'Integ'.
Nun muss der Datensatz verändert werden, also UPDATE. Das geht auch alles - aber wenn ich mehrere Felder auf einmal erneuern möchte - dann gehts nicht:
Hier mein Porgammcode:
Delphi-Quellcode:
abQuery.Close;
abQuery.SQL.Text :=
'UPDATE "t:\eDienstreisebuch\mainDB.dbf"' + #10 +
'SET Bemerkung = :iBemerkung' + #10 +
// 'SET Dezernatsl = :iDezernatsl' + #10 +
'WHERE INTEG = :Id';
abQuery.prepare;
abQuery.ParamByName('Id').AsInteger := querysort.FieldByName('INTEG').AsInteger;
// abQuery.ParamByName('iDezernatsl').AsString := DZN.Text;
abQuery.ParamByName('iBemerkung').AsString := bemerkung.Text;
Ich hab die zusätzlichen Zeilen mal ausgeklammert, wenn man diesen Code in der Form nutzt - dann geht auch alles klar, aber es wird eben nur ein Feld der
DB neu beschrieben.
Ich hab schon diverse Dinge probiert, z.B. in der zweiten Zeile dann das "Set" weggelassen, "and" geschrieben usw... nichts ging.
Eine Notlösung wäre es, wenn ich den Code immer wieder ausführen lassen würde, aber die entsprechenden Zeilen austausche. Bevor ich sowas mache, frag ich doch lieber noch mal hier.