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


Набор записей. Выполнение обновления наборов записей (ODBC)

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

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

К основным причинам обновления запросов наборов записей относятся:

  • обновление набора записей в соответствии с записями, добавленными и удаленными пользователями;

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

Обновление набора записей

Зачастую запрос объекта набора записей выполняется для его обновления. Если базой данных пользуется несколько пользователей, другие пользователи могут вносить изменения в данные во время существования набора записей. Дополнительные сведения о случаях, когда собственный набор записей отражает изменения, внесенные другими пользователями, и наборы записей других пользователей отражают собственные изменения, см. в разделах Набор записей. Способы обновления записей в наборе записей (ODBC) и Динамическое подмножество данных.

Обновление на основе новых параметров

Функция Requery также часто используется для получения нового набора записей на основе изменения значений параметров.

Совет

Скорость запроса может быть значительно выше, если использовать функцию Requery с измененными параметрами, по сравнению с повторным вызовом функции Open.

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

Поскольку динамические подмножества данных предназначены для представления набора записей с динамически обновленными данными, чтобы изменения, внесенные другими пользователями, отображались в наборе данных, необходимо часто обновлять эти подмножества. Моментальные снимки, с другой стороны, позволяют полагаться на статическое содержимое при подготовке отчетов, подсчете конечных результатов и т. д. Тем не менее, иногда требуется обновлять и моментальные снимки. В многопользовательской среде данные моментального снимка могут утратить синхронизацию с источником данных при изменении базы данных другими пользователями.

Обновление объекта набора записей

  • Следует вызвать функцию-член Requery объекта.

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

Пример см. в разделе Представления записей. Заполнение списка из второго набора записей.

Совет

Чтобы повысить производительность функции Requery, следует избегать изменения параметров filter или sort набора записей.Следует изменять значение параметра только до вызова функции Requery.

Если вызов функции Requery завершается с ошибкой, можно попытаться вызвать ее еще раз, в противном случае приложение следует закрыть. Вызов функции Requery или Open может завершиться с ошибкой по нескольким причинам. Возможно, произошла сетевая ошибка; или во время вызова (после выпуска существующих данных и до получения новых) другой пользователь мог получить монопольный доступ; или таблица, от которой зависит набор записей, могла быть удалена.

См. также

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

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

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

Набор записей. Создание и закрытие наборов записей (ODBC)