共用方式為


如何:在資料列變更期間驗證資料

資料驗證是指對輸入到應用程式資料中的值進行檢查的一個程序; 傳送更新至基礎資料存放區前,先查看這些值,是很好的做法。 這是因為它會降低應用程式和資料存放區之間的可能來回往返次數。

注意事項注意事項

[DataSet 設計工具] 會建立部分類別,其中可以將驗證邏輯加入到資料集中。設計工具產生的資料集將不會刪除或變更任何在部分類別中的程式碼。

當資料列的值變更時,您可藉由回應 RowChanging 事件來驗證資料。 引發這個事件時,它會傳遞事件引數 (e.Row),其中包含目前資料列中每個資料行的建議值。 根據 e.Row 中每個資料行的內容,您可以:

您也可以使用 ColumnChanging 事件,在個別資料行變更時執行驗證。 如需詳細資訊,請參閱如何:在資料行變更期間驗證資料

在 RowChanging 事件中驗證資料

您可以編寫程式碼,確認您要驗證的每個資料行所包含的資料都符合應用程式需求。 如果無法接受建議值,請設定資料行,指出它包含錯誤。 下列範例在 Quantity 資料行等於或小於 0 時,會設定資料行錯誤。 資料列變更事件處理常式應該類似下列範例。

若要在資料列變更時驗證資料 (Visual Basic)

  1. 在 [DataSet 設計工具] 中開啟資料集。 如需詳細資訊,請參閱如何:在 DataSet 設計工具中開啟資料集

  2. 按兩下您要驗證的資料表之標題列。 這個動作會自動在資料集的部分類別檔案中建立 DataTableRowChanging 事件處理常式。

    提示

    按兩下資料表名稱左邊,建立資料列變更事件處理常式。如果您按兩下資料表名稱,就可以編輯資料表名稱。

    Private Sub Order_DetailsDataTable_Order_DetailsRowChanging(
        ByVal sender As System.Object, 
        ByVal e As Order_DetailsRowChangeEvent
      ) Handles Me.Order_DetailsRowChanging
    
        If CType(e.Row.Quantity, Short) <= 0 Then
            e.Row.SetColumnError("Quantity", "Quantity must be greater than 0")
        Else
            e.Row.SetColumnError("Quantity", "")
        End If 
    End Sub
    

若要在資料列變更時驗證資料 (C#)

  1. 在 [DataSet 設計工具] 中開啟資料集。 如需詳細資訊,請參閱如何:在 DataSet 設計工具中開啟資料集

  2. 按兩下您要驗證的資料表之標題列。 這個動作會建立 DataTable 的部分類別檔案。

    注意事項注意事項

    [DataSet 設計工具] 不會自動建立 RowChanging 事件的事件處理常式。您必須建立一個方法以處理 RowChanging 事件,並執行程式碼以連結資料表的初始化方法中的事件。

  3. 將下列程式碼複製到部分類別中:

        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", "");
            }
        }
    

請參閱

工作

如何:連接至資料庫中的資料

如何:在資料行變更期間驗證資料

逐步解說:顯示 Windows Form 上的資料

參考

資料來源視窗

事件 (C# 程式設計手冊)

概念

TableAdapter 概觀

建立和編輯具類型資料集

資料來源概觀

驗證資料

其他資源

資料逐步解說