如何:检查已更改的行

当对数据集中的记录进行更改时,有关这些更改的信息会被存储起来,直到您提交这些更改。 在调用数据集或数据表的 AcceptChanges 方法,或是调用 TableAdapter 或数据适配器的 Update 方法时,更改被提交。

以两种方式在每个数据行中跟踪更改:

确定是否存在已更改的行

如果已在数据集中进行了更改,数据集的 HasChanges 方法将返回 true。 确定存在更改的行,您可以调用 DataSetDataTable 的 GetChanges 方法返回更改的一组数据行。 有关更多信息,请参见 如何:检索已更改的行

确定是否对任何行进行了更改

  • 调用数据集的 HasChanges 方法来检查已更改的行。

    下面的示例演示如何检查 HasChanges 方法的返回值,以检测名为 NorthwindDataset1 的数据集中是否存在已更改的行。

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

确定更改的类型

还可以通过将 DataRowState 枚举的值传递给 HasChanges 方法,以检查在数据集中进行了何种类型的更改。

确定对行进行了何种类型的更改

  • DataRowState 值传递给 HasChanges 方法。

    下面的示例显示如何检查名为 NorthwindDataset1 的数据集,以确定是否向其添加了任何新行:

    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
    
    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.
    }
    

请参见

概念

在应用程序中编辑数据

Visual Studio 2012 中针对数据应用程序开发的新增功能

在 Visual Studio 中将 Windows 窗体控件绑定到数据

准备应用程序以接收数据

将数据获取到应用程序

在 Visual Studio 中将控件绑定到数据

验证数据

保存数据

其他资源

数据演练

连接到 Visual Studio 中的数据