关于事务的一个问题
2011-11-08 14:41
260 查看
本篇作为事务运用时的一个小知识,废话不多说,直接入题了。
这里先抛一个问题,下面是我起初写的代码:
View Code
-------------------------------------------------------------结束-----------------------------------------------------------------------
这里先抛一个问题,下面是我起初写的代码:
View Code
//创建一个新的连接 SqlConnection ConnTran = CommFun.CreateConn(); //连接打开 ConnTran.Open(); //使用新连接开始事务 SqlTransaction transaction = ConnTran.BeginTransaction(); //创建命令对象 SqlCommand command = new SqlCommand(); //新的连接和事务绑定同一个命令对象 command.Connection = ConnTran; command.Transaction = transaction; try { string strSql = "Select Top 1 Id, OrderId,C_Name,C_Mtel,C_Address From Pro_Order_List"; //这里使用旧的连接执行查询,不用事务控制 SqlDataReader dataReader = new SqlCommand(strSql, conn).ExecuteReader(); while (dataReader.Read()) { if (dataReader["OrderId"] != null || dataReader["OrderId"] != DBNull.Value) { //更新商品表,这里为测试用,没有实际业务意义 command.CommandText = "Update Order_Pro_List Set OrderId = OrderId where OrderId = " + dataReader["OrderId"].ToString(); command.ExecuteNonQuery(); } } //关闭dataReader dataReader.Close(); //提交事务 transaction.Commit(); } catch { //事务回滚 transaction.Rollback(); } finally { //释放资源 transaction.Dispose(); transaction = null; //新连接关闭 ConnTran.Close(); }
-------------------------------------------------------------结束-----------------------------------------------------------------------
相关文章推荐
- 关于Spring事务的一个问题
- 一个关于Mysql事务的罕见问题
- jpa里一个事务里修改完数据又从别的实体做关联查询的问题
- 一个关于打印预览的问题
- 一个关于项目管理的问题
- 一个关于js函数的传值问题
- 今天修了一个bug,关于debug日志的问题
- 关于C#更新Access数据库时发现的一个没有任何技术含量的问题,给大家分享,希望能给大家帮助
- 关于遍历向数组中添加值的问题定义一个空数组要写在循环外,否则会被覆盖
- 手写一个关于title属性自定义提示框解决浏览器(IE)不兼容问题
- 一个关于无边框拉大小的问题
- 关于JavaScript处理时间跨度差问题的一个小细节
- 关于用sqlserverr创建一个Oracle的连接服务器问题
- 遇到的一个关于 this 和toString()的问题
- 关于SQL语句优化的一个问题
- 关于static指针的一个严重问题
- 一个菜鸟关于域的一些问题
- 关于分布式事务的一个误解:使用了TransactionScope就一定会开启分布式事务吗?
- 关于hibernate用save方法保存对象所遇到的一个问题
- Linux访问Windows共享文件夹,关于mount cifs的一个问题