Строки и адаптер данных.

Свойство RowState

Для того, чтобы передать отложенные изменения в источник данных автономная модель ADO.NET должна документировать все действия, которые производит над данными(объектами DataRow) пользователь.

Специально для этого у объекта DataRow есть свойство RowState, позволяющее узнать что нужно делать со строкой при передаче отложенных изменений.

Свойство RowState может принимать элементы из перечисления
DataRowState.

Перечисление DataRowState

Элементы перечисления DataRowState

  • Detached — Строка была создана, но не является частью какой-либо DataRowCollection. Объект DataRow имеет это состояние сразу после своего создания и перед добавлением в коллекцию, а также если он был удален из коллекции.
  • Unchanged — Строка не была изменена с момента последнего вызова AcceptChanges.
  • Added — Строка была добавлена в коллекцию DataRowCollection и метод AcceptChanges не был вызван.
  • Deleted — Строка была удалена с помощью метода Delete объекта DataRow.
  • Modified — Строка была изменена и объект AcceptChanges не был вызван.

Применение изменений

Для того чтобы применить все изменения произведенные со строками таблицы после передачи отложенных изменений объект DataRow имеет метод AcceptChanges;

При вызове метода AcceptChanges строки, подготовленные к удалению удаляются из коллекции строк таблицы, измененные, и добавленные строки становятся Unchanged Метод AcceptChanges так же есть у объектов DataSet и DataTable.

При вызове метода AcceptChanges на таблице у всех строк этой таблицы вызывается метод AcceptChanges.

При вызове метода AcceptChanges на DataSet вызывается метод AcceptChanges на всех таблицах этого DataSet

Версии строк

На практике иногда появляется потребность посмотреть значение измененной строки до изменения или же посмотреть данные строки,
подготовленной к удалению.

Для этого объект DataRow имеет перегрузку индексатора, которая принимает в качестве второго индекса элемент перечисления DataRowVersion.

Перечисление DataRowVersion

Элементы перечисления DataRowVersion:

  • Current – позволяет узнать текущее значение строки.
  • Original – позволяет узнать исходное значение строки.
  • Porposed – позволяет узнать предпологаемое значение поля(действительно только при редактировании поля с помощью метода BeginEdit()).
  • Default – версия по умолчанию для строки. Для значения DataRowState Added, Modified или Deleted версией по умолчанию является Current. Для значения DataRowState Detached версией по умолчанию является Proposed.

Объект DataAdapter

Объект DataAdapter предоставляет набор команд SQL и подключение базы данных, которые используются для заполнения объекта DataSet или объекта DataTable а так же обновления источника данных.

Обновлено: 27.02.2019 — 09:43

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.