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


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

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

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

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

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

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

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

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

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

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

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

bbf2f889.alert_note(ru-ru,VS.90).gifСовет.

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

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

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

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

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

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

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

bbf2f889.alert_note(ru-ru,VS.90).gifСовет.

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

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

См. также

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

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

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

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