![]() |
SQL: Mehrere Felder einer DB mit UPDATE erneuern
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:
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.
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 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. |
Re: SQL: Mehrere Felder einer DB mit UPDATE erneuern
Hai LuckyStrike4life,
trenne mal deine SET-Anweisungen durch ein komma.
SQL-Code:
UPDATE tabelle SET feld1 = 1 , feld2 = 'hallo' , feld3 = 4 WHERE id = 1
|
Re: SQL: Mehrere Felder einer DB mit UPDATE erneuern
Zitat:
Geht, Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz