asp.net 执行事务代码

  //数据库执行区,

  SqlConnection _sqlConn = null;

  SqlTransaction _SqlTrans = null;

  try

  {

  //数据库操作类

  _sqlConn = System.mySQLConnection.SqlConnections.GetSQLConnection();//见下面的类

  _sqlConn.Open();

  // sql事务对象

  _SqlTrans = _sqlConn.BeginTransaction();

  //基本信息执行SQL语句情况

  bool StudentInfo_YN = false;

  if (hid_StudentIDValue == "")

  {

  StudentInfo_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;

  }

  else

  {

  StudentInfo_YN = true;

  }

  bool baoMing_YN = false;

  //报名基本信息执行SQL语句情况

  if (StudentInfo_YN)

  {

  //获取报名的o_flowid号,由数据库产生

  baoMing_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;

  }

  else

  {

  baoMing_YN = false;

  }

  bool baomingdetail_YN = false;

  //报名的课程详细信息执行SQL语句情况

  if (baoMing_YN)

  {

  baomingdetail_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;

  }

  else

  {

  baomingdetail_YN = false;

  }

  //收费表SQL语句情况

  //if (baoMing_YN)

  //{

  // baomingdetail_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;

  //}

  //else

  //{

  // baomingdetail_YN = false;

  //}

  //总的判断全部释放成功。

  if (baomingdetail_YN)

  {

  //提交事务,清除Session验证码

  _SqlTrans.Commit();

  MessageBox.alert(Page, "报名成功。", "window.location.href='addBaoMing.aspx'");

  }

  else

  {

  _SqlTrans.Rollback();

  MessageBox.alert(Page, "报名失败。");

  return;

  }

  }

  catch (SqlException sqlE)

  {

  MessageBox.alert(Page, "提交异常 " + sqlE.Message.Replace("\"", "'"));

  }

  finally

  {

  if (_sqlConn != null)

  _sqlConn.Close();

  if (_SqlTrans != null)

  _SqlTrans.Dispose();

  }

  写在SqlConnections的类中(一般放在app_code,也可放在三层架构的类中)

  //当前连接的是第几个。

  static int count = 0;

  //最大连接量

  static int maxCount = 30;

  static SqlConnection[] sqlConns = new SqlConnection[maxCount];

  //自己创建自己

  static SqlConnections myConn = new SqlConnections();

  //初始化

  private SqlConnections()

  {

  for (int i = 0; i < maxCount; i++)

  {

  sqlConns[i] = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ADOStr"].ToString());

  }

  }

  // 获取数据库连接

  public static int UpdateOrDelete(String sqlTxt)

  {

  SqlConnection sqlConnTemp = SqlConnections.GetSQLConnection();

  try

  {

  SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);

  sqlConnTemp.Open();

  return sqlCommT.ExecuteNonQuery();

  }

  catch (SqlException sqlE)

  {

  return 0;

  }

  finally

  {

  sqlConnTemp.Close();

  }

  }

  public static SqlConnection GetSQLConnection()

  {

  try

  {

  try

  {

  sqlConns[count].Close();

  }

  catch (Exception eeX)

  {

  }

  return sqlConns[count];

  }

  finally

  {

  //当前个数自加。。

  if (count == (maxCount - 1))

  {

  count = 0;

  }

  else

  {

  count++;

  }

  }

  }