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.