Набор записей. Порядок обновления записей в наборе (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 и Динамическое подмножество данных.
См. также
Основные понятия
Наборы записей. Принципы работы функций AddNew, Edit и Delete (ODBC)