Набор записей. Выполнение обновления наборов записей (ODBC)
Данный раздел относится к классам ODBC библиотеки MFC.
В этом разделе рассматриваются способы использования объекта набора записей для запроса (обновления) набора записей из базы данных, а также случаи, когда для этого может потребоваться функция-член Requery.
К основным причинам обновления запросов наборов записей относятся:
обновление набора записей в соответствии с записями, добавленными и удаленными пользователями;
обновление набора записей в соответствии с измененными значениями параметров.
Обновление набора записей
Зачастую запрос объекта набора записей выполняется для его обновления.Если базой данных пользуется несколько пользователей, другие пользователи могут вносить изменения в данные во время существования набора записей.Дополнительные сведения о случаях, когда собственный набор записей отражает изменения, внесенные другими пользователями, и наборы записей других пользователей отражают собственные изменения, см. в разделах Набор записей. Способы обновления записей в наборе записей (ODBC) и Динамическое подмножество данных.
Обновление на основе новых параметров
Функция Requery также часто используется для получения нового набора записей на основе изменения значений параметров.
Совет |
---|
Скорость запроса может быть значительно выше, если использовать функцию Requery с измененными параметрами, по сравнению с повторным вызовом функции Open. |
Обновление динамических подмножеств данных илиснимков
Поскольку динамические подмножества данных предназначены для представления набора записей с динамически обновленными данными, чтобы изменения, внесенные другими пользователями, отображались в наборе данных, необходимо часто обновлять эти подмножества.Моментальные снимки, с другой стороны, позволяют полагаться на статическое содержимое при подготовке отчетов, подсчете конечных результатов и т. д.Тем не менее, иногда требуется обновлять и моментальные снимки.В многопользовательской среде данные моментального снимка могут утратить синхронизацию с источником данных при изменении базы данных другими пользователями.
Обновление объекта набора записей
- Следует вызвать функцию-член Requery объекта.
Вместо этого можно также закрыть и повторно открыть первоначальный набор записей.В обоих случаях новый набор записей будет представлять текущее состояние источника данных.
Пример см. в разделе Представления записей. Заполнение списка из второго набора записей.
Совет |
---|
Чтобы повысить производительность функции Requery, следует избегать изменения параметров filter или sort набора записей.Следует изменять значение параметра только до вызова функции Requery. |
Если вызов функции Requery завершается с ошибкой, можно попытаться вызвать ее еще раз, в противном случае приложение следует закрыть.Вызов функции Requery или Open может завершиться с ошибкой по нескольким причинам.Возможно, произошла сетевая ошибка; или во время вызова (после выпуска существующих данных и до получения новых) другой пользователь мог получить монопольный доступ; или таблица, от которой зависит набор записей, могла быть удалена.