Поделиться через


Практическое руководство. Получение определенных версий объекта DataRow

Обновлен: Ноябрь 2007

При внесении изменений в строки данных набор данных сохраняет исходные (Original) и новые (Current) версии строк. Например, до вызова метода AcceptChanges приложение может обращаться к разным версиям записи (что определяется в перечислении DataRowVersion) и соответственно обрабатывать изменения.

7kd9zhee.alert_note(ru-ru,VS.90).gifПримечание.

Разные версии строки существуют только после ее изменения и до вызова метода AcceptChanges для этой строки. После вызова метода AcceptChanges текущая и исходная версии становятся идентичными.

Передача значения DataRowVersion вместе с индексом столбца (или с именем столбца как строки) возвращает значение от версии отдельной строки этого столбца. Измененный столбец идентифицируется во время событий ColumnChanging и ColumnChanged. Таким образом, на этом этапе в целях проверки удобнее всего просмотреть различия в версиях строк. Однако если есть временно приостановленные ограничения, эти события не будут инициироваться. Потребуется программно идентифицировать измененные столбцы. Это можно сделать путем итерации всех элементов коллекции Columns и сравнения различных значений DataRowVersion.

Доступ к исходной версии DataRow

Для получения исходной версии записи:

  • Получить доступ к значению столбца, передав DataRowVersion строку, которую нужно вернуть.

    В следующем примере показано, как можно использовать значение DataRowVersion для получения исходного значения поля CompanyName в DataRow:

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

Доступ к текущей версии DataRow

Для получения текущей версии записи:

  • Получите доступ к значению столбца и добавьте параметр к индексу, обозначающему, какую версию строки нужно возвратить.

    В следующем примере показано, как можно использовать значение DataRowVersion для получения текущего значения поля CompanyName в DataRow:

    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