Einzelnen Beitrag anzeigen

schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#9

AW: Daten aus der Detailtabelle löschen

  Alt 3. Jun 2011, 10:23
Delphi-Quellcode:
// Lösche in Tabelle Logs alle Datensätze die den gccode haben
procedure TForm1.DeleteLogs(const gccode:string);
begin
  QueryDelLogs.SQL.Text := 'delete from logs where gccode='+QuotedStr(gccode);
  QueryDelLogs.ExecSQL;
end;
Dann aber bitte gleich mit Parametern
Delphi-Quellcode:
// Lösche in Tabelle Logs alle Datensätze die den gccode haben
procedure TForm1.DeleteLogs(const gccode:string);
begin
  QueryDelLogs.SQL.Text := 'delete from logs where gccode = :gccode';
  QueryDelLogs.ParamByName('gccode').AsString := gccode;
  QueryDelLogs.ExecSQL;
end;
Das hat den Vorteil, dass SQL-Injection direkt erledigt ist, außerdem muss man sich um keinster Weise um Datum-Formatierungskram kümmern, weil man direkt den Parameter.AsDateTime setzen kann
Außerdem ergeben sich bei einigen DBMS auch Performance-Vorteile, wenn das Statement nur oft genug ausgeführt wird
  Mit Zitat antworten Zitat