Share via


如何:获取 DataRow 的特定版本

更新:2007 年 11 月

当更改数据行时,数据集将保存该行的初始版本 (Original) 和新版本 (Current)。例如,在调用 AcceptChanges 方法之前,您的应用程序可以访问记录的不同版本(如 DataRowVersion 枚举中所定义的版本),并相应地处理更改。

说明:

行的不同版本只有在编辑之后和调用 AcceptChanges 之前存在。在调用 AcceptChanges 方法之后,当前版本和初始版本是相同的。

如果将 DataRowVersion 值与列索引(或作为字符串的列名)一起传递,则将从该列的特定行版本返回值。已更改的列将在 ColumnChangingColumnChanged 事件过程中进行识别,因此这是为进行验证而检查不同行版本的良好时机。但是,如果您暂停了约束,将不会引发这些事件,因此您需要以编程方式来识别哪个列已更改。要完成此操作,可以循环访问 Columns 集合并比较不同的 DataRowVersion 值。

访问 DataRow 的初始版本

获取记录的初始版本

  • 访问传入要返回行的 DataRowVersion 的列的值。

    下面的示例演示如何使用 DataRowVersion 值来获取 DataRow 中的 CompanyName 字段的初始值:

    Dim originalCompanyName As String
    originalCompanyName = NorthwindDataSet1.Customers(0) _
        ("CompanyName", DataRowVersion.Original).ToString()
    
    string originalCompanyName;
    originalCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Original].ToString();
    

访问 DataRow 的当前版本

获取记录的当前版本

  • 访问列的值并将一个参数添加到指示要返回的行版本的索引。

    下面的示例演示如何使用 DataRowVersion 值获取 DataRow 中 CompanyName 字段的当前值:

    Dim currentCompanyName As String
    currentCompanyName = NorthwindDataSet1.Customers(0) _
        ("CompanyName", DataRowVersion.Current).ToString()
    
    string currentCompanyName;
    currentCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Current].ToString();
    

请参见

概念

数据中的新增功能

“显示数据”概述

其他资源

在应用程序中编辑数据

验证数据

保存数据

数据演练

数据访问入门

连接到 Visual Studio 中的数据

准备应用程序以接收数据

将数据获取到应用程序

在 Windows 应用程序中的窗体上显示数据