Einzelnen Beitrag anzeigen

roland1258

Registriert seit: 30. Jul 2012
Ort: Dinslaken
7 Beiträge
 
Delphi 2009 Professional
 
#1

deleteanweisung für mehrere Datensätze

  Alt 5. Nov 2012, 15:47
Datenbank: Oracle • Version: Express 4.0.2.00.09 • Zugriff über: dbExpress
Hallo zusammen,
ich möchte mehrere Datensätze gleichzeitig löschen.
Über eine Listview mit Checkboxen wähle ich die entsprechenden Datensätze aus (Bild1).

Delphi-Quellcode:
var i : integer;
    s : string;
    first: Boolean;
    SQL : string;
begin
 s := '';
 first := true;
 for i := 0 to lv.Items.Count - 1 do
    if LV.Items[i].Checked then
      begin
        if first then
          s := LV.Items[i].Caption
        else
          s := s + Format(', %s',[LV.Items[i].Caption]);
        first := false;
      end;
  if Length(s) > 0 then
    begin
      SQL := Format('DELETE FROM artikel WHERE art_nummer IN (%s) ',[s]);
      ShowMessage(s);
      q1.Close;
      q1.SQL.Clear;
      q1.SQL.text := sql;
      ShowMessage(q1.SQL.Text);
      q1.ExecSQL;
    end;
end;
Ich lasse mir zur Kontrolle s (Bild2) und den sql-Text(Bild3) ausgeben.

Es schein alles ok zu sein.

Mit execsql kommt aber ein Fehler (Bild4), den ich nicht nachvollziehen kann.

Vielleicht hat jemand eine Idee?

LG
Roland
Miniaturansicht angehängter Grafiken
bild1.png   bild2.png   bild3.png   bild4.png  
Roland
LG
Roland
Wunder dauern ein bischen länger.

Geändert von roland1258 ( 5. Nov 2012 um 15:58 Uhr)
  Mit Zitat antworten Zitat