使用事务
/// <summary>
/// 执行事务操作
/// </summary>
/// <param name="sql">字符串数组用来存储需要执行的sql语句</param>
/// <returns>返回一个布尔值,表示是否操作成功</returns>
public static bool execTransaction(string[] sql)
{
//创建数据库连接
SqlConnection con = createCon();
//创建SqlTransaction对象
SqlTransaction sTransaction=null;
try
{
//打开数据库连接
con.Open();
//创建SqlCommand对象
SqlCommand com = con.CreateCommand();
//设置开始事务
sTransaction = con.BeginTransaction();
//设置需要执行事务
com.Transaction = sTransaction;
foreach (string sqlT in sql)
{
//设置SQL语句
com.CommandText = sqlT;
//判断是否执行成功
if (com.ExecuteNonQuery() <= 0)
{
//设置事务回滚
sTransaction.Rollback();
//返回布尔值False
return false;
}
}
//提交事务
sTransaction.Commit();
//返回布尔值True
return true;
}
catch (Exception ex)
{
//设置事务回滚
sTransaction.Rollback();
//返回布尔值False
return false;
}
finally
{
//关闭数据库连接
con.Close();
}
}