Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#5

Re: [mySQL]: Fehler in der Abfrage, aber wo?

  Alt 9. Mai 2004, 16:21
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).
  Mit Zitat antworten Zitat