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


Набор записей. Порядок обновления записей в наборе (ODBC)

Данный раздел относится к классам ODBC библиотеки MFC.

Помимо функции выбора записей в источнике данных, набор записей (не обязательно) может обновлять или удалять выбранные данные, а также добавлять новые записи.Три фактора определяют способность набора записей к обновлению: способность к обновлению подключенного источника данных, заданные параметры во время создания объекта набора записей и созданная база данных SQL.

ПримечаниеПримечание

База данных SQL, в которой находится объект CRecordset, может воздействовать на способность набора записей к обновлению.Например, если SQL имеет соединение или предложение GROUP BY, библиотека MFC устанавливает функцию обновления в FALSE.

ПримечаниеПримечание

В этом разделе приведены сведения, относящиеся к объектам, производным от класса CRecordset, в котором групповая выборка строк не реализована.При использовании групповой выборки строк следует ознакомиться с разделом Набор записей: групповая выборка записей (ODBC).

Содержание раздела:

  • Роль пользователя в обновлении набора записей и роль платформы.

  • Использование набора записей в качестве буфера редактирования и различия между динамическими подмножествами данных и моментальными снимками.

Раздел Набор записей: как выполняются функции-члены AddNew, Edit и Delete (ODBC) рассматривает действия этих функций с позиции набора записей.

Раздел Набор записей. Дополнительные сведения об обновлении (ODBC) завершает рассказ об обновлениях набора записей. В разделе рассматривается влияние транзакций на обновления, влияние закрытия или прокрутки набора записей на выполняющиеся обновления и взаимодействие обновлений одного пользователя с обновлениями других пользователей.

Роль пользователя в обновлении набора записей

В следующей таблице анализируется роль, которую выполняет пользователь во время добавления, изменения или удаления записей набором записей, а также важность работы платформы.

Обновление набора записей. Пользователь и платформа

Разработчик

.NET Framework

Определение источника данных и его способность к обновлению (или к присоединению).

Предоставляет функции-члены CDatabase для тестирования способности источника данных к обновлению или к присоединению.

Открытие обновляемого набора записей (любого типа).

 

Определяет, является ли набор записей обновляемым, с помощью функций CRecordsetCanUpdate или CanAppend.

 

Вызов функций-членов набора записей, для добавления, изменения и удаления записей.

Управляет механизмом обмена данных между объектом набора записей и источником данных.

(Дополнительно) использование транзакции для управления процессом обновления.

Предоставляет функции-члены CDatabase для поддерживания транзакций.

Дополнительные сведения о транзакциях см. в разделе Транзакции (ODBC).

Буфер редактирования

Взятые все вместе, члены-поля данных набора записей служат буфером редактирования, который хранит одну текущую запись.Операции обновления используют этот буфер при операциях с текущей записью.

  • Во время добавления записи буфер редактирования используется для создания новой записи.После добавления записи, запись, которая была текущей до этого, снова становится текущей.

  • Во время обновления (изменения) записи буфер редактирования используется для присваивания новых значений член-полю данных набора данных.После завершения обновления, обновленная запись по-прежнему является текущей.

При вызове функции-члена AddNew или Edit текущая запись сохраняется для дальнейшего восстановления.При вызове функции-члена Delete текущая запись не сохраняется, а помечается как удаленная, вынуждая пользователя перейти к другой записи.

ПримечаниеПримечание

Буфер редактирования не принимает участия в процессе удаления записи.При удалении текущей записи, запись помечается как удаленная и ни одна другая запись в наборе записей не является активной до тех пор, пока пользователь не перейдет к другой записи.

Динамические подмножества данных и моментальные снимки

Динамические подмножества данных обновляют содержимое записей при переходе к новой записи.Моментальные снимки являются статическими представлениями записей, поэтому содержание записи обновляется только при вызове Requery.Для того чтобы использовать все преимущества и функции динамических подмножеств данных, нужно использовать тот драйвер ODBC, который соответствует требуемому уровню поддержки API ODBC.Дополнительные сведения см. разделах ODBC и Динамическое подмножество данных.

См. также

Основные понятия

Набор записей (ODBC)

Наборы записей. Принципы работы функций AddNew, Edit и Delete (ODBC)