Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Insert in SQLite via Datasnap - Anfängerproblem

  Alt 10. Okt 2020, 16:10
Moin...
Zitat:
Remote-Fehler: Änderungen an CommandText sind nicht gestattet
1:
...schau mal hier: https://www.delphipraxis.net/177390-...tenbanken.html #3

2:
Delphi-Quellcode:
comm_cds.Execute; // hier ist noch "update fam_check set..." als SQL eingetragen
comm_cds.Open; // ??? jetzt die Datenmenge öffnen? ...eher ein select mit neuem Statement
comm_cds.Refresh; // nicht nötig, da Open sowieso die Datenmenge abholt ... doppelt gemoppelt.
Empfehlung: getrennte DataSets

3:
Delphi-Quellcode:
'update fam_check set '+
   'starus_freigabe = 1,'+
   'freigabe_user = 12,'+
   'where id = '+
   (Quotedstr(amsc.Label9.Text));
immer Parameter benutzen!
http://docwiki.embarcadero.com/Libra...DataSet.Params
wegen: https://de.wikipedia.org/wiki/SQL-Injection
besser:
Delphi-Quellcode:
comm_cds.CommandText := 'update fam_check set ' +
                           'starus_freigabe = :P1,' +
                           'freigabe_user = :P2,' +
                           'where id = :ID';

comm_cds.CommandText.Params.ParamByName('P1').AsInteger := 1;
comm_cds.CommandText.Params.ParamByName('P2').AsInteger := 12;
comm_cds.CommandText.Params.ParamByName('ID').AsString := Quotedstr(amsc.Label9.Text);
PS: sollte die Syntax nicht ganz korrekt sein, nagelt mich nicht fest.


Geändert von haentschman (10. Okt 2020 um 16:27 Uhr)
  Mit Zitat antworten Zitat