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


Класс CDaoWorkspace

Управляет именованный, защищаются паролем сеанс базы данных из имени входа, которое будет logoff, один пользователь.

class CDaoWorkspace : public CObject

Члены

Открытые конструкторы

Имя

Описание

CDaoWorkspace::CDaoWorkspace

Создает объект рабочей области. После этого вызова Создать или Открыть.

Открытые методы

Имя

Описание

CDaoWorkspace::Append

Добавляет вновь созданную рабочую область в коллекции областей компонента database engine.

CDaoWorkspace::BeginTrans

Начинает новую транзакцию, которая применяется ко всем базам данных открытым в рабочей области.

CDaoWorkspace::Close

Закрывает рабочую область и все объекты она содержит. Незавершенные транзакции откатите.

CDaoWorkspace::CommitTrans

Выполняет текущую транзакцию и сохранение изменений.

CDaoWorkspace::CompactDatabase

Сжимает (или дубликатов) базы данных.

CDaoWorkspace::Create

Создает новый объект области DAO.

CDaoWorkspace::GetDatabaseCount

Возвращает количество объектов базы данных DAO в коллекции баз данных рабочей области.

CDaoWorkspace::GetDatabaseInfo

Возвращает сведения об указанной базе данных из коллекции баз данных DAO указанной области.

CDaoWorkspace::GetIniPath

Возвращает расположение параметры инициализации компонента database engine для jet (Майкрософт) в реестре Windows.

CDaoWorkspace::GetIsolateODBCTrans

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

CDaoWorkspace::GetLoginTimeout

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

CDaoWorkspace::GetName

Возвращает определяемое пользователем имя объекта области.

CDaoWorkspace::GetUserName

Возвращает заданное имя пользователя, если рабочая область была создана. Это имя владельцем рабочей области.

CDaoWorkspace::GetVersion

Возвращает строку, которая содержит версию компонента database engine, связанного с рабочей областью.

CDaoWorkspace::GetWorkspaceCount

Возвращает количество объектов области DAO в коллекции областей компонента database engine.

CDaoWorkspace::GetWorkspaceInfo

Возвращает сведения об указанной области DAO, указанной в коллекции областей компонента database engine.

CDaoWorkspace::Idle

Разрешает database engine для выполнения фоновой задачи.

CDaoWorkspace::IsOpen

Возвращает ненулевое значение, если область открыта.

CDaoWorkspace::Open

Явно открыть объект области, связанный с рабочей областью по умолчанию DAO.

CDaoWorkspace::RepairDatabase

Пытается исправить поврежденную базу данных.

CDaoWorkspace::Rollback

Завершает текущую транзакцию и не сохраняет изменения.

CDaoWorkspace::SetDefaultPassword

Задает пароль, который компонент database engine использует когда объект области создание без определенного пароля.

CDaoWorkspace::SetDefaultUser

Задает имя пользователя, которое компонент database engine использует когда объект области создание без определенного имени пользователя.

CDaoWorkspace::SetIniPath

Задает расположение параметры инициализации компонента database engine для jet (Майкрософт) в реестре Windows.

CDaoWorkspace::SetIsolateODBCTrans

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

CDaoWorkspace::SetLoginTimeout

Задает число секунд, прежде чем ошибка происходит, когда пользователь предпринимает попытку входа в источник данных ODBC.

Открытые члены данных

Имя

Описание

CDaoWorkspace::m_pDAOWorkspace

Точки к основному объекту области DAO.

Заметки

В большинстве случаев не понадобятся нескольких рабочих областей, а не будет создать точные объекты области. при открытии объекты базы данных и набора записей, однако они используют рабочую область по умолчанию DAO. Однако если требуется, можно выполнять одновременно несколько сеансов путем создания дополнительных объектов рабочей области. Каждый объект области может содержать объекты базы данных открыты несколько раз в собственной коллекции баз данных. В MFC, область основным диспетчер транзакций, указав набор открытых баз данных все в той же области транзакции "."

Примечание

Классы баз данных DAO MFC отличаются от классов баз данных на основе ODBC (ODBC).Все имена классов базы данных DAO имеют префикс "CDao".В общем случае классы MFC DAO способны на основе более чем классы MFC на основе ODBC.DAO- на основе классы получают доступ к данным через компонент database engine для jet (Майкрософт), в том числе драйвер ODBC.Они также поддерживают операции языка описания данных DDL (язык DDL), такие как создание базы данных и добавление таблиц и полей с помощью классов DAO непосредственно, без вызова.

Возможности

Класс CDaoWorkspace предоставляет следующие действия:

  • Явный доступ, если необходимо, для области по умолчанию, созданное при инициализации компонента database engine. Обычно область по умолчанию DAO использования неявно путем создания объектов базы данных и набора записей.

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

  • Интерфейс для многих свойств основного компонента database engine для jet (Майкрософт) (см. статические функции-члены). Открытие или создание рабочей области или вызвать функцию статического члена, прежде чем открыть или создать инициализирует компонент database engine.

  • Доступ к коллекции областей database engine, в которой хранятся все активные рабочих областей, которые были добавлены к ней. Можно также создать и работать с рабочими областями без добавления их в коллекцию.

Безопасность

MFC не реализует пользователей и не группирует коллекции в DAO, которые используются для контроля доступа. Если необходимы эти аспекты DAO, то ее необходимо запрограммировать их с помощью прямых вызовов к интерфейсам DAO. Дополнительные сведения см. в разделе Техническая примечание 54.

Использование

Можно использовать класс CDaoWorkspace:

  • Явно открыть область по умолчанию.

    Как правило, использование области по умолчанию неявной — при открытии новые объекты CDaoDatabase или CDaoRecordset. Однако можно получить к нему доступ явно — например, доступ к свойствам компонента database engine или коллекция рабочих областей. Неявная см. в разделе "использование области по умолчанию" ниже.

  • Создание новых рабочих областей. Вызовите Добавление если требуется добавить их в коллекцию рабочих областей.

  • Открыть существующую рабочую область в коллекции областей.

Создать новую рабочую область, которая уже не существует в коллекции областей, описан в разделе Создание функцией-членом. Объекты области не сохраняются в любом случае между сеансами обработчика datababase. Если ссылки приложения MFC статически, завершение приложения uninitializes компонента database engine. Если ссылки приложения с MFC, компонент database engine неинициализированным, когда библиотека DLL MFC.

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

Завершение сеанса области, закрыть область с функцией-членом Закрыть. Закрыть закрывает все базы данных не закрыли ранее, откатящ всех незафиксированных транзакций.

Транзакции

DAO управляет транзакций на уровне области. следовательно, транзакции в рабочей области с базами данных открытого кратен применяются ко всем базам данных. Например, если 2 базы данных имеют uncommitted обновления и вызвать CommitTrans, все обновления зафиксироватьы. Если необходимо ограничить транзакции в одной базе данных, то необходим отдельный объект области.

Неявное использование области по умолчанию

MFC DAO используется область по умолчанию неявно в следующих случаях:

  • Если создается новый объект CDaoDatabase, но не сделать через существующий объект CDaoWorkspace, MFC создает временный объект области, которые соответствует области по умолчанию DAO. Если это сделать для нескольких баз данных все объекты базы данных сопоставлены с рабочей областью по умолчанию. Можно открыть область базы данных с помощью элемента данных CDaoDatabase.

  • Аналогично, при создании объекта CDaoRecordset без указания указатель на объект CDaoDatabase, MFC создает временный объект базы данных, и расширением, временный объект рабочей области. Можно получить доступ к базе данных набора записей и косвенно свою поверхность, с помощью элемента данных CDaoRecordset.

Другие операции

Другие операции базы данных также предоставляются, например исправление поврежденной базы данных или сжатия базы данных.

Дополнительные сведения о вызов DAO напрямую и о безопасности DAO см. в разделе Техническая примечание 54.

Иерархия наследования

CObject

CDaoWorkspace

Требования

Header: afxdao.h

См. также

Ссылки

Класс CObject

Диаграмма иерархии

Класс CDaoDatabase

Класс CDaoRecordset

Класс CDaoTableDef

Класс CDaoQueryDef

Класс CDaoException