共用方式為


逐步解說:加入驗證至資料集

此逐步解說會示範當資料集中的資料變更時,如何驗證資料。 您要在何處對資料執行驗證檢查,是根據您應用程式的需求;在此逐步解說中,我們要在變更個別資料行中的值時,進行驗證資料。 此逐步解說會使用 ColumnChanging 事件,驗證正在輸入至記錄中的可接受值。 若值無效,會向使用者顯示 ErrorProvider 控制項。

範例也會示範如何使用 DataSet 設計工具建立資料集的部分類別。 (部分類別是使用者可以在其中加入程式碼,以擴充 Visual Studio 的功能:產生的資料集。 若資料集為重新產生,也不會將其覆寫)。

注意事項注意事項

您的電腦對於下列指示中某些 Visual Studio 使用者介面項目的名稱或位置,可能會顯示不同的資訊:您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱<Visual Studio 中的自訂開發設定>。

此逐步解說中所述的工作包括:

必要條件

為了完成此逐步解說,您需要:

建立新的 Windows 應用程式

建立新的 Windows 應用程式專案

  1. 從 [檔案] 功能表中,建立新專案。

  2. 將專案命名為 ValidationWalkthrough。

  3. 選取 [Windows 應用程式],然後按一下 [確定]。 如需詳細資訊,請參閱使用 .NET Framework 開發用戶端應用程式

    隨即建立 ValidationWalkthrough 專案,並將它加入至方案總管

從資料庫建立新的資料來源

若要建立資料來源

  1. 按一下 [資料] 功能表上的 [顯示資料來源]。

  2. 在 [資料來源] 視窗中,選取 [加入新資料來源],以啟動 [資料來源組態精靈]。

  3. 請選取 [選擇資料來源類型] 頁面上的 [資料庫],再按 [下一步]。

  4. 在 [選擇資料連接] 頁面中,執行下列其中一項工作:

    • 如果下拉式清單中有提供 Northwind 範例資料庫的資料連接,請選取這個資料連接。

      -或-

    • 選取 [新增連接],啟動 [新增/修改連接] 對話方塊。

  5. 如果資料庫需要密碼,請選取選項來加入敏感性資料,然後按一下 [下一步]。

  6. 在 [將連接字串儲存到應用程式組態檔] 頁面中按 [下一步]。

  7. 在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。

  8. 選取 [Order Details] 資料表,然後按一下 [完成]。

    NorthwindDataSet 會加入專案中,且 OrderDetails 資料表會出現在 [資料來源] 視窗中。

建立資料繫結控制項

在表單上建立資料繫結控制項

  1. 在 [資料來源] 視窗中,選取 [Order Details] 資料表。

  2. 從資料表的控制項清單中,選擇 [詳細資料]。

  3. 從 [資料來源] 視窗中將 [Order Details] 節點拖曳至 Form1

    會在表單上顯示具有描述性標籤的資料繫結控制項,以及巡覽記錄的工具區域 (BindingNavigator)。 會在表單上顯示具有描述性的資料繫結控制項,以及巡覽記錄的工具區域 (BindingNavigator)。 NorthwindDataSetOrder_DetailsTableAdapterBindingSourceBindingNavigator 會顯示在元件匣中。

將 ErrorProvider 控制項加入至表單

設定 ErrorProvider 控制項

  1. 工具箱ErrorProvider 拖曳至 Form1

  2. 在 [屬性] 視窗中,將 ErrorProviderDataSource 屬性設定為 Order_DetailsBindingSource

    注意事項注意事項

    請勿設定 DataMember 屬性。

建立 ColumnChanging 事件處理常式

建立驗證事件處理常式

  1. 按兩下方案總管中的 NorthwindDataSet.xsd 檔案,以在 DataSet 設計工具中開啟 NorthwindDataSet。

  2. 按兩下 OrderDetails 資料表中的 Quantity 資料行,以建立 OrderDetailsDataTable_ColumnChanging 事件處理常式。 (在 C# 中,只會建立資料表的部分類別)。

    注意事項注意事項

    按兩下資料表名稱 (標題列中的 Order Details),以建立 RowChanging 事件的事件處理常式。

  3. 加入程式碼以驗證 e.ProposedValue 是否包含大於 0 的值。 若建議值為 0 或小於 0,則設定資料行,以指出其包含錯誤。

    將下列程式碼貼入 [在此處加入使用者程式碼] 註解下,資料行有變更的事件處理常式中:

    If CType(e.ProposedValue, Short) <= 0 Then
            e.Row.SetColumnError(e.Column, "Quantity must be greater than 0")
        Else
            e.Row.SetColumnError(e.Column, "")
    End If
    
    // C#
    // Add the following code 
    // to the partial class.
        public override void EndInit()
        {
            base.EndInit();
            Order_DetailsRowChanging += TestRowChangeEvent;
        }
    
        public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e)
        {
            if ((short)e.Row.Quantity <= 0)
            {
                e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
            }
            else
            {
                e.Row.SetColumnError("Quantity", "");
            }
        }
    

測試應用程式

若要測試應用程式

  1. 按 F5 執行應用程式。

  2. 將 [數量] 文字方塊中的值變更為 0。

  3. 按 TAB 鍵,將焦點移除文字方塊。

    隨即顯示錯誤提供者圖示。

  4. 將滑鼠指標放在錯誤提供者上,以查看訊息。

後續步驟

視應用程式的需求,在加入驗證後,您可能會有幾個想要執行的步驟。 一些您可以加強這個逐步解說的部分包括:

請參閱

概念

將 Windows Form 控制項繫結至 Visual Studio 中的資料

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

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

將控制項繫結至 Visual Studio 中的資料

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

驗證資料

儲存資料

其他資源

資料逐步解說

連接至 Visual Studio 中的資料