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

資料驗證是指對輸入到應用程式資料中之值進行檢查的程序; 先檢查這些值之後,再將更新傳送至基礎資料存放區是一個很好的作法,因為這樣可以減少應用程式與資料存放區之間的可能來回往返次數。

注意事項注意事項

[DataSet 設計工具] 會建立部分類別,其中可以將驗證邏輯加入到資料集中。設計工具產生的資料集將不會刪除或變更任何在部分類別中的程式碼。如需詳細資訊,請參閱 如何:擴充資料集的功能

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

您也可以在 RowChanging 事件期間執行驗證。 如需詳細資訊,請參閱 如何:在資料列變更期間驗證資料

若要在資料行的值變更時驗證資料

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

  2. 按兩下您要驗證的資料行。 這個動作會建立 DataTableColumnChanging 事件處理常式。

    注意事項注意事項

    [DataSet 設計工具] 不會自動建立此 C# 事件的事件處理常式。處理事件所需的程式碼如下。

  3. 加入程式碼,驗證 e.ProposedValue 包含的資料是否符合應用程式需求。 如果無法接受建議值,請設定資料行,指出它包含錯誤。

    下列程式碼範例會在 Quantity 資料行等於或小於 0 時,設定資料行錯誤。 資料行變更事件處理常式如下:

    'Visual Basic
    Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _
        Handles Me.ColumnChanging
    
        If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then
    
            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
        End If
    End Sub
    
    // C#
    // Add this code to the DataTable 
    // partial class.
        public override void EndInit()
        {
            base.EndInit();
            ColumnChanging += SampleColumnChangingEvent;
        }
    
        public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e)
        {
            if (e.Column.ColumnName == QuantityColumn.ColumnName)
            {
                if ((short)e.ProposedValue <= 0)
                {
                    e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
                }
                else
                {
                    e.Row.SetColumnError("Quantity", "");
                }
            }
        }
    

請參閱

工作

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

如何:驗證 Windows Form DataGridView 控制項中的資料

如何:使用 Windows Form ErrorProvider 元件顯示表單驗證的錯誤圖示

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

參考

資料來源視窗

概念

TableAdapter 概觀

建立和編輯具類型資料集

資料來源概觀

驗證資料