ADO.NET中事务的使用
来源:互联网 发布:盛光网络 编辑:程序博客网 时间:2024/05/21 22:21
//建立了两个不同的连接,连接的是不同的数据库(test和oa),conn连接将使用事务处理,conn1则不使用
SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=");
SqlConnection conn1 = new SqlConnection("server=.;database=oa;uid=sa;pwd=");
conn.Open();
conn1.Open();
SqlTransaction trans = conn.BeginTransaction();//开启conn连接的事务处理
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn1;
cmd.CommandText = "insert into DepartmentInfo values('sunjian')";
cmd.ExecuteNonQuery();
cmd.Connection = conn;
cmd.Transaction = trans;
try
...{
cmd.CommandText = "insert into dptInfo values('laoliao',4)";//插入语句是正常的
cmd.ExecuteNonQuery();
cmd.CommandText = "update dptInfo set id=50 where id=19";//由于ID是自动增长的,不能修改,所以会出异常,引起事务回滚,导致上面的那一条插入语句无效
cmd.ExecuteNonQuery();
trans.Commit();
}
catch (Exception ex)
...{
trans.Rollback();//对于conn连接的数据库操作都会被回滚,而对于conn1连接的数据库操作则不会回滚,因为conn1连接没有采用事务处理
}
finally
...{
conn.Close();
conn1.Close();
}
//最后的结果是oa数据库中的DepartmentInfo表中插入了一条记录,而test数据库中的dptInfo表中没有插入记录,也没有更新记录
SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=");
SqlConnection conn1 = new SqlConnection("server=.;database=oa;uid=sa;pwd=");
conn.Open();
conn1.Open();
SqlTransaction trans = conn.BeginTransaction();//开启conn连接的事务处理
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn1;
cmd.CommandText = "insert into DepartmentInfo values('sunjian')";
cmd.ExecuteNonQuery();
cmd.Connection = conn;
cmd.Transaction = trans;
try
...{
cmd.CommandText = "insert into dptInfo values('laoliao',4)";//插入语句是正常的
cmd.ExecuteNonQuery();
cmd.CommandText = "update dptInfo set id=50 where id=19";//由于ID是自动增长的,不能修改,所以会出异常,引起事务回滚,导致上面的那一条插入语句无效
cmd.ExecuteNonQuery();
trans.Commit();
}
catch (Exception ex)
...{
trans.Rollback();//对于conn连接的数据库操作都会被回滚,而对于conn1连接的数据库操作则不会回滚,因为conn1连接没有采用事务处理
}
finally
...{
conn.Close();
conn1.Close();
}
//最后的结果是oa数据库中的DepartmentInfo表中插入了一条记录,而test数据库中的dptInfo表中没有插入记录,也没有更新记录
- ADO.NET中事务的使用
- ADO.NET事务的使用
- ADO.net - 事务使用范例
- 在C#和ado.net中使用事务
- 在ADO.NET中使用事务保护数据的完整性(1)
- 在ADO.NET中使用事务保护数据的完整性(2)
- 在ADO.NET中使用事务保护数据的完整性(3)
- 在ADO.NET中使用事务保护数据的完整性(4)
- 在ADO.NET中使用事务保护数据的完整性(5)
- 在ADO.NET中使用事务保护数据的完整性(1)
- 在ADO.NET中使用事务保护数据的完整性(2)
- 在ADO.NET中使用事务保护数据的完整性(3)
- 在ADO.NET中使用事务保护数据的完整性(5)
- 一般的ADO.net 事务
- ADO.NET事务的实现
- ADO.NET中事务的理解与应用
- ADO.NET和LINQ中古怪的事务特性
- .net中事务的使用
- 解决 System.IO.FileNotFoundException: 未能加载文件或程序集“Team.DLinqDAL”或它的某一个依赖项。系统找不到指定的文件。
- 水滴石穿C语言之代码检查工具-开发者网络-C-天极Yesky
- 如何编写高性能的应用程序1-开发者网络-优化-天极Yesky
- 如何编写高性能的应用程序-开发者网络-优化-天极Yesky
- CrackMe的算法分析
- ADO.NET中事务的使用
- 张景峰
- 好吧。既然在CSDN安家。就来发表第一篇日志吧~!
- 关于 document.execCommand()
- Linux那些事儿之我是UHCI(15)Root Hub的注册
- 软件测试工程师的一天
- 配置 lomboz 插件(eclipse)
- 新发现,有趣的指针
- 华为面试题(西安研究所)