共用方式為


HOW TO:處理並行存取錯誤

更新:2007 年 11 月

您可以攔截 DBConcurrencyException 物件,以協助解決因為並行違規而產生的問題。DBConcurrencyException 物件會傳回造成錯誤的資料列。如需詳細資訊,請參閱 DBConcurrencyException 成員

以下範例將嘗試從 try/catch 區塊內,以 NorthwindDataSet 的內容更新資料來源;如果引發錯誤時,就會顯示錯誤訊息以及衝突資料列的第一個資料行。

注意事項:

以下程式碼是處理資料庫更新錯誤的一種示範策略。此程式碼假設下列幾項條件:目前已連接到資料庫、目前有一個資料集,並假設執行更新命令會引發並行違規。如需詳細資訊和完整範例,請參閱逐步解說:處理並行存取例外狀況

若要解決並行違規

  1. 從 try/catch 區塊中執行命令以更新資料庫。

  2. 如果引發例外狀況,請檢查 catch 陳述式的 Row 屬性,以判斷造成違規的原因。

  3. 根據您應用程式的商務規則 (Business Rule) 來加入解決錯誤的程式碼。

    以下程式碼使用 CustomersTableAdapter 和 NorthwindDataSet 做為應用程式中的配接器和資料集之範例。

    Try
        CustomersTableAdapter.Update(NorthwindDataSet)
    
    Catch ex As DBConcurrencyException
    
        Dim customErrorMessage As String
        customErrorMessage = "Concurrency violation" & vbCrLf
        customErrorMessage += CType(ex.Row.Item(0), String)
        MessageBox.Show(customErrorMessage)
    
        ' Add business logic code to resolve the concurrency violation...
    
    End Try
    
    try
    {
        customersTableAdapter.Update(northwindDataSet);
    }
    catch (DBConcurrencyException ex)
    {
        string customErrorMessage;
        customErrorMessage = "Concurrency violation\n";
        customErrorMessage += ex.Row[0].ToString();
    
        // Add business logic code to resolve the concurrency violation...
    }
    

請參閱

概念

資料的新功能

顯示資料概觀

其他資源

資料逐步解說

連接至 Visual Studio 中的資料

準備您的應用程式以接收資料

將資料擷取至您的應用程式中

顯示 Windows 應用程式之表單上的資料

在您的應用程式中編輯資料

驗證資料

儲存資料