Du willst Werte von ZQuery2 verwenden um Das DELETE-Statement
in der selben Query zu filtern????
Wie soll denn das gehen?
Du musst dir die Werte in Variablen zwischespeichern, oder für das Löschen eine neue
Query erzeugen.
Ein wenig Code-Formatierung würde dem spaghetti-Klumpen im ersten Post auch nicht Schaden.
Damit hättest du nämlich gesehen, dass du per Copy'nPaste auch "LIMIT 1" mitkopiert hast. Das macht hier doch keinen Sinn, du willst doch nicht nur einen DS löschen sondern alle, die deinem Filter entsprechen.
Delphi-Quellcode:
With Query Do
Begin
SQL.Text :=
'
DELETE FROM Bestellungen' + #10 +
'
WHERE Titel = :ITitel And' + #10 +
'
Anzahl = :IAnzahl And' + #10 +
'
Lehrer = :ILehrer And' + #10 +
'
VERLAG = :IVerlag And' + #10 +
'
Bestellnr = :IBestellnr And' + #10 +
'
Preis = :IPreis';
// Werte an Query Parameter übergeben...
With Parameters
Do
Begin
ParamByName('
ITitel').AsString := IrgendeineVariable;
ParamByName('
IAnzahl').AsInteger := IrgendeineVariable;
ParamByName('
ILehrer').AsString := IrgendeineVariable;
ParamByName('
IVerlag').AsString := IrgendeineVariable;
ParamByName('
IBestellnr').AsString := IrgendeineVariable;
ParamByName('
IPreis').AsFloat := IrgendeineVariable;
End;
ExecSQL;
End;
p.s.:
man löscht generell
nur über einen exakten Prim. Key (um menschl. Fehler zu minimieren).