什么是事务
事务其实就是于一个操作集,大多情况下为了保证数据的一致性都会使用事务来处理,这些操作要么都执行,要么都不执行。事务的四个特性之一是原子性,其含义是指对于特定操作序列组成的事务,要么全部完成,要么就一件也不做。如果在事务处理的过程中,发生未知的不可预料的错误,如何保证事务的原子性呢?当事务中止时,必须执行回滚操作,以便消除已经执行的操作对数据库的影响。
事务基本写法:
MySqlTransaction MySqlTran = null;
MySqlConnection MySqlCnt = null;
string sError = "";
try
{
#region 初始化连接数据
MySqlCnt = new MySqlConnection(MySQLHelper.connectionString);
MySqlCnt.Open();
MySqlTran = MySqlCnt.BeginTransaction();
#endregion
#region 业务代码
#endregion
#region 提交与回滚
if (MySqlTran != null && MySqlTran.Connection != null) MySqlTran.Commit();
}
catch (Exception ex)
{
if (MySqlTran != null && MySqlTran.Connection != null) MySqlTran.Rollback();
}
finally
{
if (MySqlTran != null) MySqlTran.Dispose();
if (MySqlCnt != null) { MySqlCnt.Close(); MySqlCnt.Dispose(); }
}
#endregion