ich habe eine kleines "Datenbank-Übungsprogramm" geschrieben, das ich wahlweise auf MYSql oder auf SQLite zugreifen lassen kann.
Alles (Neueingabe von Daten, der Update-Befehl, die Suchfunktion) funktioniert auch soweit sehr gut - allerdings ist es eigenartig, dass diese Zeile:
-> sql.Add(' LIMIT 1' );
nur bei SQLite eine Fehlermeldung produziert, nicht aber beim Absetzen dieses Statements an MYSql. Beim Auskommentieren dieser Zeile funktioniert das Löschen auch bei SQLite (natürlich ohne "LIMIT").
MmVisual hat mich mehrmals darauf hingewiesen, beim Erstellen des Statements dies hier http://www.sqlite.org/lang_delete.html" onclick="window.open(this.href);return false; zu beachten, was ich - wie ich meine - auch tat. Und wie gesagt, diese Procedur funktioniert ja auch bei MYSql problemlos.
Warum nur nicht unter SQLite ?? Verschiedene "Sprachdialekte"?
Aliobaba
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Code: Alles auswählen
procedure TForm1.LoeschenClick(Sender: TObject);
Var
x : string;
begin
x :=DBEdit1.Text;
with ZQuery1 do
begin
// ZQuery1.Delete; // das geht auch!!
sql.Text := 'DELETE FROM `tabelle1` WHERE Column1= :col1 ';
sql.Add(' LIMIT 1' );
ParamByName('Col1').AsString := x;
ExecSQL;
Close;
end;
Leereedit;
end;