Eben gesehen:
Zitat:
for (int i=0; i < SqlStatements.Count; i++) // List<string> SqlStatements
{
FbCommand cmd = new FbCommand(SqlStatements[i], connection, trans);
cmd.ExecuteNonQuery();
}
...die
SQL Statements als Querys hintereinander und nicht als Script. Das sind 2 Paar Schuhe. In deinen
DB Komponenten gibt es bestimmt eine Script Komponente. Der übergibst du das Script...fertsch.
Zitat:
In IBExpert läuft sowas natürlich. Selbst ohne das commit work; zwischendurch, aber nur weil IBExpert (scheinbar) implizit an diesen Stellen committed.
Erstell mal in deinem eigenen Code eine Transaktion und versuch diese beiden Befehle hintereinander in dieser Transaktion auszuführen ohne zwischendurch zu committen:
Falsch...
Ich führe dieses Script auch in der Anwendung aus. Mit der
Scriptkomponente und nicht als Querys.