Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Mit Edit1.Text den Tabellenname einer SQL-Tabelle benennen

  Alt 24. Jun 2022, 14:44
Das SQL.Clear ist überflüssig, wenn SQL.Text direkt danach zugewiesen wird.
Bei Änderung des SQL.Text wird auch automatisch Close und UnPrepare aufgerufen.

Die fehlenden Leerzeichen im SQL.Text sollten schon beim Prepare zu einem SQL-Fehler führen.
Wenn auf die durch das fehlerhafte SQL nicht vorhandenen Parameter zugegriffen wird, führt das zur Zugriffsverletzung.
Delphi-Quellcode:
LiteQuery.SQL.Text := ...;
LiteQuery.Prepare; // Prüfen des SQL und Vorbereiten der Abfrage auf dem SQL-Server(SQL-Plan), Erzeugen der Parameter-Objekte in der Query.
LiteQuery.ParamByName('nnr').AsInteger := ... // Wenn der Parameter nicht vorhanden ist, wird NIL zurückgegeben und AsInteger führt zur Zugriffsverletzung.
...
LiteQuery.ExecSQL();
LiteQuery. fehlt bei ParamByName im orginalen Quelltext.

Geändert von Blup (24. Jun 2022 um 14:46 Uhr)
  Mit Zitat antworten Zitat