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


Практическое руководство. Проверка измененных строк

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

При внесении изменений в записи набора данных сведения об этих изменениях хранятся до их фиксации. Изменения фиксируются при вызове метода AcceptChanges набора данных, таблицы данных или при вызове метода Update TableAdapter или адаптера данных.

Изменения отслеживаются в каждой строке данных двумя способами:

  • Каждая строка данных содержит сведения о ее состоянии RowState (например Added, Modified, Deleted, Unchanged).

  • Каждая строка измененных данных содержит несколько версий этой строки (DataRowVersion); оригинал (до изменений) и текущие (после изменений) версии – к ним возможен доступ. На протяжении короткого промежутка времени, когда изменения еще не завершены (время, когда можно ответить на событие RowChanging), доступна также третья версия – предложенная. Дополнительные сведения см. в разделе Практическое руководство. Получение определенных версий объекта DataRow.

Выявление измененных строк

Метод HasChanges набора данных возвращает значение true, если в набор данных были внесены изменения. После определения существования измененных строк можно вызвать метод GetChanges объекта DataSet или DataTable для получения набора измененных строк. Дополнительные сведения см. в разделе Практическое руководство. Получение измененных строк.

Чтобы определить, были ли внесены изменения в какие-либо строки, выполните следующие действия:

  • Вызовите метод 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

Подготовка приложения к получению данных

Выборка данных в приложение

Отображение данных на форме в приложениях Windows

Проверка данных

Сохранение данных