北方站长站
客服热线:0632-5117766

实现数据库事务的方法ExecuteSqlTran()

[2008-01-23 04:59:00] 作者:10121 来源:北方站长站

Tags:方法 事务 数据库 实现 new conn SqlConnection /// SqlCommand

  

在实际的工作,很多人经常需要实现数据库的事务,如果每次用SqlTransaction 写代码会特别麻烦,本文将重点介绍一个通用的方法放在数据层,此示例可以满足一般情况下的需求:

同时执行两条SQL语句的示例方法:

public static void ExecuteSqlTran(string SQLString1,string SQLString2)  {   using (SqlConnection conn = new SqlConnection(strDBConnectionString))   {    conn.Open();    SqlCommand cmd = new SqlCommand();    cmd.Connection=conn;        SqlTransaction tx=conn.BeginTransaction();       cmd.Transaction=tx;        try    {          cmd.CommandText=SQLString1;     cmd.ExecuteNonQuery();     cmd.CommandText=SQLString2;     cmd.ExecuteNonQuery();          tx.Commit();         }    catch(System.Data.SqlClient.SqlException E)    {       tx.Rollback();     throw new Exception(E.Message);    }   }  }

假如有多条SQL语句需要放在一个事务里实现执行,就用下面这个方法:

/// <summary>  /// 执行多条SQL语句,实现数据库事务。  /// </summary>  /// <param name="SQLStringList">多条SQL语句</param>    public static void ExecuteSqlTran(ArrayList SQLStringList)  {   using (SqlConnection conn = new SqlConnection(connectionString))   {    conn.Open();    SqlCommand cmd = new SqlCommand();    cmd.Connection=conn;        SqlTransaction tx=conn.BeginTransaction();       cmd.Transaction=tx;        try    {          for(int n=0;n<SQLStringList.Count;n++)     {      string strsql=SQLStringList[n].ToString();      if (strsql.Trim().Length>1)      {       cmd.CommandText=strsql;       cmd.ExecuteNonQuery();      }     }               tx.Commit();         }    catch(System.Data.SqlClient.SqlException E)    {       tx.Rollback();     throw new Exception(E.Message);    }   }  }

(责任编辑:卢兆林)

 

News

 

info

 

down

出售手机裁听器,手机跟踪定位系统    企业网站,网城,购物网,都市导购,校园网    网上书店系统    上海电信机房服务器托管,双线主机托管    美女图片馆    15G 高清晰图片资源 无水印    室内装潢材料新产品杰威尔艺术漆    收一万ip的美女图片    大量收购个人网址导航网站    出售网址站PR=4alexa=119,764    

下一篇链接:深入剖析有关Oracle数据库的备份与恢复 (1)

上一篇链接:如何查找运行系统里的"bad sql"语句

评论】 【打印】 【加入收藏】 【关闭→论坛 →博客 →数据中心

 共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面