几个常用得事务处理方法
2007-03-18 00:43
429 查看
/**//// <summary>
/// 启动事务
/// </summary>
/// <param name="cn">数据库连接</param>
/// <param name="cmd">命令对象</param>
/// <param name="transaction">事务</param>
/// <param name="executeString">Sql语句</param>
/// <returns></returns>
public static int ExecuteNonQuery(DbConnection cn,DbCommand cmd,DbTransaction transaction,string executeString)
...{
if (cn.State == ConnectionState.Closed)
...{
cn.Open();
}
cmd.Connection = cn;
if (transaction != null)
...{
cmd.Transaction = transaction;
}
cmd.CommandText = executeString;
cmd.CommandType = CommandType.Text;
int i = cmd.ExecuteNonQuery();
return i;
}
/**//// <summary>
/// 返回首行首列得值
/// </summary>
/// <param name="cn">数据库连接</param>
/// <param name="cmd">命令对象</param>
/// <param name="transaction">事务</param>
/// <param name="executeString">Sql语句</param>
/// <returns></returns>
public static object ExecuteScalar(DbConnection cn, DbCommand cmd, DbTransaction transaction, string executeString)
...{
if (cn.State == ConnectionState.Closed)
...{
cn.Open();
}
cmd.Connection = cn;
if (transaction != null)
...{
cmd.Transaction = transaction;
}
cmd.CommandText = executeString;
cmd.CommandType = CommandType.Text;
object i = cmd.ExecuteScalar();
return i;
}
/**//// <summary>
/// 返回一个DataReader
/// </summary>
/// <param name="cn">数据库连接</param>
/// <param name="cmd">命令对象</param>
/// <param name="transaction">事务</param>
/// <param name="executeString">Sql语句</param>
/// <returns></returns>
public static DbDataReader ExecuteReader(DbConnection cn, DbCommand cmd, DbTransaction transaction, string executeString)
...{
if (cn.State == ConnectionState.Closed)
...{
cn.Open();
}
cmd.Connection = cn;
if (transaction != null)
...{
cmd.Transaction = transaction;
}
cmd.CommandText = executeString;
cmd.CommandType = CommandType.Text;
DbDataReader reader = cmd.ExecuteReader();
return reader;
}
如果要用到上面这此只是给它几个参数就行了,成功就Commit一下,不成功就Rollback一下.
如:
DbConnection cn = GetConnection();
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
DbTransaction transaction = cn.BeginTransaction(IsolationLevel.ReadCommitted);
DbCommand cmd = GetCommand();
XXX.ExecuteNonQuery(cn, cmd, transaction, executeString) 判断这个就可以了.
相关文章推荐
- 几个常用得事务处理方法
- 几个常用得事务处理方法
- Java字符串处理的几个常用方法
- Postgresql_常用的几个日期处理方法
- java中字符串处理、串联和转换的几个常用方法,以及如果需要自己编程实现的具体实施步骤。
- Java字符串处理的几个常用方法
- 提升app 应用程序运行速度的几个常用方法
- 几个Linux中文件查找常用技术和方法
- 读《海量数据处理常用思路和方法》
- c#中处理字符串常用的函数及方法详细说明
- c# 字符串常用的处理方法
- Shell常用处理字符串方法(备查)
- 处理修改BUG或异常的常用方法和步骤
- PHP+Mysql基于事务处理实现转账功能的方法
- 常用的不可变的字符串处理的实例方法 API文档 NSString
- SQL Server存储过程中编写事务处理的方法小结
- 数字图像处理的基本原理和常用方法
- VSTO---EXCEL常用处理方法
- 转:Oracle 排序中常用的NULL值处理方法
- 几个常用的Node方法