实现数据库事务的简单方法ExecuteSqlTran()
2005-11-27 20:59
761 查看
做项目时需要实现数据库的事务,觉得每次用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(string SQLStringList)
{
using (OdbcConnection conn = new OdbcConnection(connectionString))
{
conn.Open();
OdbcCommand cmd = new OdbcCommand();
cmd.Connection=conn;
OdbcTransaction tx=conn.BeginTransaction();
cmd.Transaction=tx;
try
{
string [] split= SQLStringList.Split(new Char [] { ';'});
foreach (string strsql in split)
{
if (strsql.Trim()!="")
{
cmd.CommandText=strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch(System.Data.Odbc.OdbcException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
方法虽然简单,但确实省了不少时间:)
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(string SQLStringList)
{
using (OdbcConnection conn = new OdbcConnection(connectionString))
{
conn.Open();
OdbcCommand cmd = new OdbcCommand();
cmd.Connection=conn;
OdbcTransaction tx=conn.BeginTransaction();
cmd.Transaction=tx;
try
{
string [] split= SQLStringList.Split(new Char [] { ';'});
foreach (string strsql in split)
{
if (strsql.Trim()!="")
{
cmd.CommandText=strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch(System.Data.Odbc.OdbcException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
方法虽然简单,但确实省了不少时间:)
相关文章推荐
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 执行多条SQL语句,实现数据库事务。
- 用sql语句实现分离和附加数据库的方法
- Oracle_PL/SQL的基本写法_BEGIN_END块结构及简单的事务实现
- MS sql server数据库设置自动清除事务日志的方法
- DAL 操作数据库方法ExecuteNonQuery/ExecuteScalar/SqlDataAdapter/SqlDataReader
- 执行多条SQL语句,实现数据库事务(不可传入Sql参数)
- SQL中遇到多条相同内容只取一条的最简单实现方法
- ASP实现数据库事务处理的方法
- C# 执行多条SQL语句,实现数据库事务(通过Hashtable存储数据) .
- C#实现数据库事务处理的简单示例代码
- 数据库访问的一些公共的方法01-执行SQL的事务处理
- 数据库-基本使用方法和简单SQL语句
- 不直接用SqlTransaction也能实现数据库事务——简单的SqlTransaction方法
- PostgreSQL数据库事务实现方法分析
- SQL中遇到多条相同内容只取一条的最简单实现方法