Commit Method (SQLiteTransaction)
Commits the database transaction.
The following example creates a
SQLiteConnection and a
SQLiteTransaction. It also demonstrates how to use the
SQLiteConnection.BeginTransaction,
Commit, and
Rollback methods.
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