Hallo,
hab die üblichen Suchen gemacht, dennoch klappt das noch nicht. Es soll eine Reihe von Einträgen in einer SQLite-
DB gelöscht werden. Die Syntax sieht im Grunde so aus:
Delphi-Quellcode:
dbSQLTransactionString := 'BEGIN TRANSACTION; ' +
'DELETE FROM TableA WHERE SomeID = ' + SomeID + ';' +
'DELETE FROM TableB WHERE SomeID = ' + SomeID + ';' +
'DELETE FROM TableC WHERE SomeID = ' + SomeID + ';' +
'COMMIT;'
Das ganze übergebe ich so:
Delphi-Quellcode:
ZQuery.SQL.Text := dbSQLTransactionString; //der String von oben
ZQuery.ExecSQL;
davor das übliche Connect
Delphi-Quellcode:
ZConnection.Disconnect;
ZConnection.Protocol := dbProtocol;
ZConnection.LibraryLocation := dbLibraryLocation;
ZConnection.HostName := dbHostName;
ZConnection.Database := dbDatabaseName;
ZConnection.ClientCodepage := dbClientCodepage;
ZConnection.Port := dbPort;
ZConnection.Connect;
ZQuery.Connection := ZConnection;
DataSource.DataSet := ZQuery;
Wenn ich den TransactionString separat ausführe (in
DB Browser), tut er. Hier macht er nicht. Die Datenbank bleibt unberührt. Alle Einträge erhalten.
Danke für Hinweise!