不直接用SqlTransaction也能实现数据库事务——简单的SqlTransaction方法
2011-08-29 09:21
274 查看
在实际工作的中,很多人经常需要实现数据库的事务,如果每次都用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语句需要放在一个事务里实现执行,大家就可以用下面这个方法:
///
/// 执行多条SQL语句,实现数据库事务。
///
/// 多条SQL语句
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
{
string strsql=SQLStringList
.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);
}
}
}
可以同时执行两条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语句需要放在一个事务里实现执行,大家就可以用下面这个方法:
///
/// 执行多条SQL语句,实现数据库事务。
///
/// 多条SQL语句
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
{
string strsql=SQLStringList
.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);
}
}
}
相关文章推荐
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 实现数据库事务的简单方法ExecuteSqlTran()
- ASP.NET文件下载简单实现(也可以通过直接读取数据库 大字段文件,如oracle 中的bolg,long raw 等大字段文件)
- C#实现数据库事务处理的简单示例代码
- 实现 oracle数据库转意数据到Mysql,最简单最直接
- C#实现数据库事务处理的简单示例代码
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 数据库事务隔离级别和锁的实现方式
- C# 执行多条SQL语句,实现数据库事务(通过Hashtable存储数据) .
- 使用TransactionScope实现多数据库连接事务操作
- 页面用ajax实现简单的连接数据库
- 为 Key-Value 数据库实现MVCC 事务
- 简单例子理解数据库事务
- 数据库的最简单实现
- Oracle_PL/SQL的基本写法_BEGIN_END块结构及简单的事务实现
- 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能
- XAMPP实现HTML&MySQL&PHP简单的表单与数据库交互
- VB.NET 中启动ADO.NET事务,实现对数据库操作的整体性。