• 在存储过程中使用事务

     直接在数据段编写程序
     应用程序直接调用
    
  • 在ADO.NET中,当需要同时执行多条更新的SQL语句时

     使用ADO.NET专用事务处理对象
     编写通用的数据访问方法
    

public static int UpdateByTran(List<string> sqlList)

{
    SqlConnection conn = new SqlConnection(connString);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    try
    {
        conn.Open();
        cmd.Transaction = conn.BeginTransaction(); //开启事务
        int result = 0;
        foreach (string sql in sqlList)
        {
            cmd.CommandText = sql;
            result += cmd.ExecuteNonQuery();
        }
        cmd.Transaction.Commit(); //提交事务
        return result;
    }
    catch (Exception ex)
    {
        if (cmd.Transaction != null)
            cmd.Transaction.Rollback(); //回滚事务
        throw new Exception("调用事务更新方法时出现异常:" + ex.Message);
    }
    finally
    {
        if (cmd.Transaction != null)
            cmd.Transaction = null; //清除事务
        conn.Close();
    }
}