用戶端和中介層程式設計 - 資料存取
HOW TO:檢查已變更的資料列

當資料集中的資料錄有變更時,在認可變更之前,會儲存這些變更的相關資訊。當呼叫資料集、資料表的 AcceptChanges 方法,或呼叫 TableAdapter 或資料配接器的 Update 方法時,變更便會被認可。

每個資料列中的變更是利用下列兩種方式追蹤的:

判斷是否有變更的資料列

如果資料集中已有變更,則資料集的 HasChanges 方法會傳回 true。確認已變更資料列存在之後,您就可以呼叫 DataSetDataTableGetChanges 方法,傳回一組已變更的資料列。如需詳細資訊,請參閱 HOW TO:擷取已變更的資料列

若要判斷任何資料列是否有任何變更

  • 呼叫資料集的 HasChanges 方法來檢查變更的資料列。

    以下範例將示範如何檢查 HasChanges 方法的傳回值,以偵測名為 NorthwindDataset1 的資料集中是否有任何變更的資料列。

    Visual Basic
    If NorthwindDataSet1.HasChanges() Then
    
        ' Changed rows were detected, add appropriate code.
    Else
        ' No changed rows were detected, add appropriate code. 
    End If
    C#
    if (northwindDataSet1.HasChanges()) 
    {
        // Changed rows were detected, add appropriate code.
    }
    else
    {
        // No changed rows were detected, add appropriate code.
    }
    J#
    if (northwindDataSet1.HasChanges())
    {
        // Changed rows were detected, add appropriate code.
    }
    else
    {
        // No changed rows were detected, add appropriate code.
    }

判斷變更的類型

您也可檢查資料集中所做變更的類型,方式是將 DataRowState 列舉型別的值傳遞至方法 HasChanges

若要判斷資料列變更的類型

  • DataRowState 值傳遞至 HasChanges 方法。

    以下範例將顯示如何檢查名為 NorthwindDataset1 的資料集來判斷是否有任何新的資料列加入:

    Visual Basic
    If NorthwindDataSet1.HasChanges(DataRowState.Added) Then
    
        ' New rows have been added to the dataset, add appropriate code.
    Else
        ' No new rows have been added to the dataset, add appropriate code.
    End If
    C#
    if (northwindDataSet1.HasChanges(DataRowState.Added)) 
    {
        // New rows have been added to the dataset, add appropriate code.
    }
    else
    {
        // No new rows have been added to the dataset, add appropriate code.
    }
    J#
    if (northwindDataSet1.HasChanges(DataRowState.Added))
    {
        // New rows have been added to the dataset, add appropriate code.
    }
    else
    {
        // No new rows have been added to the dataset, add appropriate code.
    }

請參閱

標記 :


Page view tracker