oracle事务处理
2011-12-19 22:43
302 查看
public bool ExecDataBySqls(List<string> strSqls, OracleConnection conn)
{
bool booIsSucceed = false; //声明提交数据是否成功的标记
OracleCommand cmd = new OracleCommand(); //创建OracleCommand对象
cmd.Connection = conn; //设置OracleCommand对象的Connection属性
if (conn.State == ConnectionState.Closed)
{
conn.Open(); //打开数据库连接
}
OracleTransaction OraTran = conn.BeginTransaction(); //开始一个事务
try
{
cmd.Transaction = OraTran; //设置OracleCommand对象的Transaction属性
foreach (string item in strSqls)
{
cmd.CommandType = CommandType.Text; //设置命令类型为SQL文本命令
cmd.CommandText = item; //设置要对数据源执行的SQL语句
cmd.ExecuteNonQuery(); //执行SQL语句并返回受影响的行数
}
OraTran.Commit(); //提交事务,持久化数据
booIsSucceed = true; //表示提交数据库成功
}
catch
{
OraTran.Rollback(); //回滚事务,恢复数据
booIsSucceed = false; //表示提交数据库失败!
}
finally
{
conn.Close(); //关闭连接
strSqls.Clear(); //清除列表strSqls中的元素
}
return booIsSucceed; //方法返回值
}
多条SQL语句操作用LIST泛型封装,只要其中一条SQL语句执行失败即回滚,要么都成功要么都失败,为什么C#第一次调用该方法成功,之后一直是失败呢?一个界面多次添加记录,也不好设断点调试,查不出原因。请求高手指教。不胜感激。
{
bool booIsSucceed = false; //声明提交数据是否成功的标记
OracleCommand cmd = new OracleCommand(); //创建OracleCommand对象
cmd.Connection = conn; //设置OracleCommand对象的Connection属性
if (conn.State == ConnectionState.Closed)
{
conn.Open(); //打开数据库连接
}
OracleTransaction OraTran = conn.BeginTransaction(); //开始一个事务
try
{
cmd.Transaction = OraTran; //设置OracleCommand对象的Transaction属性
foreach (string item in strSqls)
{
cmd.CommandType = CommandType.Text; //设置命令类型为SQL文本命令
cmd.CommandText = item; //设置要对数据源执行的SQL语句
cmd.ExecuteNonQuery(); //执行SQL语句并返回受影响的行数
}
OraTran.Commit(); //提交事务,持久化数据
booIsSucceed = true; //表示提交数据库成功
}
catch
{
OraTran.Rollback(); //回滚事务,恢复数据
booIsSucceed = false; //表示提交数据库失败!
}
finally
{
conn.Close(); //关闭连接
strSqls.Clear(); //清除列表strSqls中的元素
}
return booIsSucceed; //方法返回值
}
多条SQL语句操作用LIST泛型封装,只要其中一条SQL语句执行失败即回滚,要么都成功要么都失败,为什么C#第一次调用该方法成功,之后一直是失败呢?一个界面多次添加记录,也不好设断点调试,查不出原因。请求高手指教。不胜感激。
相关文章推荐
- Oracle学习--->5、事务处理和锁定
- Oracle中事务处理
- Oracle12C--Oracle事务处理(十一)
- ThinkPHP3.1.2中DbOracle.class.php不能实现事务处理的解决方法
- oracle中事务处理
- oracle事务处理及实例演示jdbc操作批量删除
- Oracle自主事务处理
- Oracle分布式事务故障处理
- Oracle12C--Oracle事务处理(十一)
- Oracle 10.2 流复制问题(三)—— 大事务处理
- oracle学习篇七:更新操作、事务处理
- oracle中事务处理
- MS SQL Server和Oracle对数据库事务处理的差异性
- Oraclee 事务处理以及在c#中使用oracle的事务处理
- oracle事务处理及实例演示jdbc操作批量删除
- 最近碰到一个oracle“分布式事务处理已经开始”的问题
- sql server与oracle的事务处理中关于DDL SQL的异同 (整理)
- Oracle之事务处理
- oracle中事务处理
- Oracle12C--Oracle事务处理(十一)