ADO.NET中对并发性问题的处理
来源:互联网 发布:管家婆软件免费版下载 编辑:程序博客网 时间:2024/06/05 20:06
1.与DataAdapter对象相连接的DataSet对象使用乐观锁来处理记录内容冲突
2.如果使用用户存储过程来替代表操作的话,并发问题的处理还需要一些额外的工作
3.Data Adapter配置向导能够创建存储过程来处理这个问题
4.当ContinueUpdateOnError为false(缺省值)时,在发生第一个冲突的时候会抛出DBConcurrencyException异常
5.捕获该异常并且通知用户,或者处理该异常或提示用户下一步需要做出哪些选择
2.如果使用用户存储过程来替代表操作的话,并发问题的处理还需要一些额外的工作
3.Data Adapter配置向导能够创建存储过程来处理这个问题
4.当ContinueUpdateOnError为false(缺省值)时,在发生第一个冲突的时候会抛出DBConcurrencyException异常
5.捕获该异常并且通知用户,或者处理该异常或提示用户下一步需要做出哪些选择
1DataSet changes = myDataSet.GetChanges();
2
3try
4{
5 mySqlDataAdapter.Update(changes);
6 myDataSet.Merge(changes);
7}catch(DBConcurrencyException e)
8{
9 //通知用户记录从上次更新到现在已经发生过变化,放弃更新
10}
11finally
12
更高级的操作模型:2
3try
4{
5 mySqlDataAdapter.Update(changes);
6 myDataSet.Merge(changes);
7}catch(DBConcurrencyException e)
8{
9 //通知用户记录从上次更新到现在已经发生过变化,放弃更新
10}
11finally
12
1DataSet changes = myDataSet.GetChanges();
2
3try
4{
5 mySqlDataAdapter.ContinueOnError = true;
6 mySqlDataAdapter.Update(changes);
7 if(changes.HasErrors){
8 //获取错误
9 DataRow[] collisions = changes.Tables[0].GetErrors();
10 //处理错误
11}
2
3try
4{
5 mySqlDataAdapter.ContinueOnError = true;
6 mySqlDataAdapter.Update(changes);
7 if(changes.HasErrors){
8 //获取错误
9 DataRow[] collisions = changes.Tables[0].GetErrors();
10 //处理错误
11}
- ADO.NET中对并发性问题的处理
- ADO.NET中处理空置问题
- ADO.Net问题---DataAdapter Update 违反并发性
- 对ADO.NET的认识
- ADO.NET Entity Framework中对分离对象的更新
- 对ADO.NET中几个对象的理解
- 浅谈ADO.NET文章系列之二 — 并发更新冲突的处理
- ADO.net 并发冲突的发现
- 解决VS2012中没有ado.net实体数据模型(ADO.NET entity data model)的问题
- ASP.Net中对时间的处理
- ASP.Net中对时间的处理
- CheckBox 在Winform 中ADO.Net的数据绑定问题
- ADO.NET 实体建模器中遇到的问题
- 黑马程序员--ADO.NET中连接数据库的问题
- ADO.NET + DataGrid的问题
- ADO.net的SqlConnection问题
- Perl中对信号和并发的处理
- ado.net中,并发控制时与数据库的更新、同步
- 用style来实现把过长的字符串替换为省略号
- .NET内置对象之Session对象
- .Net 2.0 DataGridView中键盘事件处理方法
- .NET内置对象之Server对象
- 新增一个行号列
- ADO.NET中对并发性问题的处理
- .NET内置对象之Cookie对象
- 为生成的新行添加默认值
- .NET内置对象之Cache对象
- 鸡兔同笼问题
- 最稳定的类型转换
- 对DataGridView中的某一列大写设置
- 计算机文化基础试题
- SQL Server新增列放在前面