Einzelnen Beitrag anzeigen

Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Hochkomma entfernen -> INSERT INTO-Problem

  Alt 7. Nov 2008, 11:27
Zitat von HolgerCW:
Vielen dank für die Infos.
Habe da aber leider ein Problem.
Wenn du den Code so lässt: Ja!

Den folgenden Code habe ich nicht getestet. Er sollte allerdings eine gute Grundlange bilden, wie du die Abfrage dynamisch und sicher zusammenbauen kannst.
Delphi-Quellcode:
procedure Datensatz_insert (Werte:TStrings; Spalten:TStrings; Tabelle:String);
var i: Integer;
    Values: TStrings;
begin
  Values := TStrings.Create;

  Spalten.Delimiter := ',';
  Spalten.QuoteChar := '';
  Values.Delimiter := ',';
  Values.QuoteChar := '';

  for i:=0 to Spalten.Count-1 do
    Values.Add(':' + Spalten[i]);

with DM_Query_XYZ do
begin
  QueryInsert.Close;
  QueryInsert.Add('INSERT INTO ' + Tabelle);
  QueryInsert.Add('(' + Spalten.DelimitedText + ')');
  QueryInsert.Add('VALUES(' + Values.DelimitedText + ')');
  
  QueryInsert.Prepare;

  for i:=0 to Spalten.Count-1 do
    QueryInsert.ParamByName(Spalten[i]).Asstring := Werte[i];

  QueryInsert.Execute;
end;
Beachte, dass sich die Typen der ersten beiden Parameter geändert haben.

LG,
Xong
  Mit Zitat antworten Zitat