Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL: Mehrere Felder einer DB mit UPDATE erneuern (https://www.delphipraxis.net/15410-sql-mehrere-felder-einer-db-mit-update-erneuern.html)

LuckyStrike4life 28. Jan 2004 12:43


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:
  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.

Sharky 28. Jan 2004 12:52

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

LuckyStrike4life 28. Jan 2004 12:59

Re: SQL: Mehrere Felder einer DB mit UPDATE erneuern
 
Zitat:

Zitat von Sharky
Hai LuckyStrike4life,

trenne mal deine SET-Anweisungen durch ein komma.

SQL-Code:
UPDATE tabelle SET feld1 = 1 , feld2 = 'hallo' , feld3 = 4 WHERE id = 1

Ich glaub das nicht :wall: .

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