Halleluja...
Zitat:
if IsEdit then // Ist das Flag gesetzt?
...hatte ich doch gesagt.
Was fällt dir in den 3 Codeauszügen auf?
Delphi-Quellcode:
qryMain.SQL.Text := 'UPDATE WARENVERKAUF1 SET KDNR = :KNR, NAME = :NAM, VORNAME = :VNA, FIRMA = :FIR, PRODUKT = :PRO, ANZAHL = :ANZ, PREIS = :PRE WHERE ID = :CID';
...
RICHTIG (weil von mir): Leerzeichen als Abtrennung "Name =
AR", Jeder Paramater ist ein :
gefolgt von einem Kürzel "ID = :CID"
Delphi-Quellcode:
qryMain.SQL.Text:= 'UPDATE Warenverkauf1 SET KDNR = :KNR, NAME = :NAM, VORNAME =: VNA, FORMA = : FIR, PRODUKT = : PRO, ANZAHL =: ANZ, PREIS = :PRE WHERE ID =CID';
...
FALSCH: Manche Parameter haben kein : und andere ein Leezeichen im Namen (ANZAHL =: ANZ)
Delphi-Quellcode:
qryMain.SQL.Text:= 'UPDATE Warenverkauf1 SET KDNR = :KNR, NAME = :NAM, VORNAME = : VNA, FIRMA = : FIR, PRODUKT = : PRO, ANZAHL =: ANZ, PREIS = :PRE WHERE ID = :CID';
...
FALSCH: Manche Parameter haben ein Leezeichen im Namen (ANZAHL =: ANZ)...andere stimmen wieder. (ID = :CID)
Das das hier geht ist normal:
Delphi-Quellcode:
qryMain.SQL.Text:= 'UPDATE WARENVERKAUF1 SET ANZAHL = :ANZ WHERE ID= :CID';
.
...trotzdem: kein Leerzeichen als Abtrennung "ID= :CID"
Zitat:
Mit allen Feldern wollte er nicht und hat bereits bei VNA gemeckert, dass er VNA nicht kennen würde.
Logisch bei so vielen Tippfehlern...Parametername (siehe oben).
Wie kriegt man das hin mit Copy/Paste über den Quelltext solche Fehler einzubauen.
Parameter auch wenn es FireDac ist, es ist überall gleich:
http://docwiki.embarcadero.com/RADSt...ands_(FireDAC)
Zitat:
To put a parameter marker into the
SQL text, use the
:<name> syntax.
Du hattest versprochen die Codevervollständigung und den Formatter zu benutzen...
Da könnte sowas nicht bei rauskommen.
Zitat:
qryMain.ParamByName('NAM').AsString := EdtName.text;
qryMain.ParamByName('ANZ').asInteger:=strtoint(edtTestInput2.text);
Auch wenn du das für dein Hobby machst...denke bitte an unsere empfindlichen Augen.
Ein ordentlicher Quelltext mit vernüftigen Einrückungen läßt sich deutlich besser lesen.