程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ADO.NET中對並發性問題的處理

ADO.NET中對並發性問題的處理

編輯:.NET實例教程

1.與DataAdapter對象相連接的DataSet對象使用樂觀鎖來處理記錄內容沖突
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更高級的操作模型:

 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved