public void RunSQLiteTransaction(string myConnString) { SQLiteConnection sqConnection = new SQLiteConnection(myConnString); sqConnection.Open(); SQLiteCommand sqCommand = new SQLiteCommand(); SQLiteTransaction myTrans; // Start a local transaction myTrans = sqConnection.BeginTransaction(); // Assign transaction object for a pending local transaction sqCommand.Transaction = myTrans; try { sqCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"; sqCommand.ExecuteNonQuery(); sqCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(60, 'PRODUCTION')"; sqCommand.ExecuteNonQuery(); myTrans.Commit(); Console.WriteLine("Both records are written to database."); } catch(Exception e) { myTrans.Rollback(); Console.WriteLine(e.ToString()); Console.WriteLine("Neither record was written to database."); } finally { sqConnection.Close(); } }
Public Sub RunSQLiteTransaction(myConnString As String) Dim sqConnection As New SQLiteConnection(myConnString) sqConnection.Open() Dim sqCommand As New SQLiteCommand() Dim myTrans As SQLiteTransaction ' Start a local transaction myTrans = sqConnection.BeginTransaction() ' Assign transaction object for a pending local transaction sqCommand.Transaction = myTrans Try sqCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')" sqCommand.ExecuteNonQuery() sqCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(60, 'PRODUCTION')" sqCommand.ExecuteNonQuery() myTrans.Commit() Console.WriteLine("Both records are written to database.") Catch e As Exception myTrans.Rollback() Console.WriteLine(e.ToString()) Console.WriteLine("Neither record was written to database.") Finally sqConnection.Close() End Try End Sub
SQLiteTransaction Class
SQLiteTransaction Members
BeginTransaction Method
Commit Method
Devart.Data.SQLite.SQLiteTransaction.Save(System.String)