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


Класс CDaoQueryDef

Представляет определение запроса или "QueryDef" обычно одно сохраненное в базе данных.

class CDaoQueryDef : public CObject

Члены

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

Имя

Описание

CDaoQueryDef::CDaoQueryDef

Создает объект CDaoQueryDef . В следующем вызове Открыть или Создать, в зависимости от имеющихся необходимостей.

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

Имя

Описание

CDaoQueryDef::Append

Добавляет QueryDef в коллекцию QueryDefs базы данных как сохраненный запрос.

CDaoQueryDef::CanUpdate

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

CDaoQueryDef::Close

Закрывает объект QueryDef. Уничтожить объект C++ после завершения с ним.

CDaoQueryDef::Create

Создает базовый объект QueryDef DAO. Используйте QueryDef как временный запрос или вызвать метод Добавление, чтобы сохранить ее в базе данных.

CDaoQueryDef::Execute

Выполняет запрос, определенный объектом QueryDef.

CDaoQueryDef::GetConnect

Возвращает строку подключения, связанную с QueryDef. Строка соединения указывает источник данных. (Только для запросов к серверу SQL; в противном случае – пустая строка).

CDaoQueryDef::GetDateCreated

Возвращает дату сохраненный запрос был создан.

CDaoQueryDef::GetDateLastUpdated

Сохраненный запрос возвращает дату последнего обновления.

CDaoQueryDef::GetFieldCount

Возвращает количество полей, заданных QueryDef.

CDaoQueryDef::GetFieldInfo

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

CDaoQueryDef::GetName

Возвращает имя QueryDef.

CDaoQueryDef::GetODBCTimeout

Возвращает значение времени ожидания, используемое ODBC (ODBC) при QueryDef для запроса будет исполнено. Это задает время, выделенное для завершения действия запроса.

CDaoQueryDef::GetParameterCount

Возвращает количество параметров, определенных для запроса.

CDaoQueryDef::GetParameterInfo

Возвращает сведения об указанном параметре к запросу.

CDaoQueryDef::GetParamValue

Возвращает значение указанного параметра к запросу.

CDaoQueryDef::GetRecordsAffected

Возвращает число записей, затронутых запросом на изменение.

CDaoQueryDef::GetReturnsRecords

Возвращает ненулевое значение, если запрос, указанный QueryDef возвращает записи.

CDaoQueryDef::GetSQL

Возвращает строку SQL, которая определяет запрос, определенный QueryDef.

CDaoQueryDef::GetType

Возвращает тип запроса: добавление, обновление, удаление делать- таблицы и т д

CDaoQueryDef::IsOpen

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

CDaoQueryDef::Open

Открывает существующий QueryDef, хранящихся в коллекции QueryDefs базы данных.

CDaoQueryDef::SetConnect

Задает строку подключения для запроса к серверу SQL на источник данных ODBC.

CDaoQueryDef::SetName

Задает имя сохраненного запроса, заменяя имя использовать, когда QueryDef было создано.

CDaoQueryDef::SetODBCTimeout

Задает значение времени ожидания для запроса, используемый ODBC (ODBC) при QueryDef будет исполнено.

CDaoQueryDef::SetParamValue

Задает значение заданного параметра к запросу.

CDaoQueryDef::SetReturnsRecords

Определяет, возвращает ли QueryDef записи. Установка этого атрибута к TRUE допустим только для запросов к серверу SQL.

CDaoQueryDef::SetSQL

Задает строку SQL, определяющая запрос, определенный QueryDef.

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

Имя

Описание

CDaoQueryDef::m_pDAOQueryDef

Указатель на интерфейс OLE для базового объекта QueryDef DAO.

CDaoQueryDef::m_pDatabase

Указатель на объект CDaoDatabase, с которым QueryDef сопоставлено. QueryDef может быть сохранено в базе данных.

Заметки

Объект QueryDef доступа к данным, который содержит инструкцию SQL, описывающее запрос, и ее свойства, такие как "дата, созданная" и "время ожидания ODBC". Можно также создать временные объекты QueryDef без сохранения их, но удобно — и очень эффективным — сохранить часто используемые повторно запросов в базе данных. Объект CDaoDatabase поддерживает коллекцию, QueryDefs называемую коллекция, содержащая его сохраненные querydefs.

Примечание

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

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

Используйте объекты QueryDef или работать с существующими сохранены запросом или создать новый сохраненный запрос или временный запрос:

  1. Во всех случаях, сначала создайте объект CDaoQueryDef, указав указатель на объект CDaoDatabase, к которому принадлежит запрос.

  2. Затем выполните следующие действия в зависимости от того, что необходимо:

    • Для использования существовать сохранить запрос, вызовите функцию-член Открытие объекта QueryDef, указав имя сохраненного запроса.

    • Чтобы создать новый сохраненный запрос, вызовите функцию-член Создание объекта QueryDef, указав имя запроса. Затем вызовите Добавление чтобы сохранить запрос путем его добавления в коллекцию QueryDefs базы данных. Создать помещает QueryDef в открытое состояние, поэтому после вызова Создать собой не вызывайте Открыть.

    • Чтобы создать временный QueryDef, вызовите Создать. Передайте пустую строку для имени запроса. Не вызывайте Добавление.

После завершения использования объекта QueryDef, вызовите его функцию-член Закрыть; затем уничтожить объект QueryDef.

Совет

Самым простым способом создания сохраненных запросов их создания и сохранения их в базе данных с помощью Microsoft Access.Затем можно открыть и использовать их в пользовательском коде MFC.

Назначения

Можно использовать объект QueryDef для любого из следующих целей:

  • Создание объекта CDaoRecordset

  • Вызова функции-члена Выполнить объекта напрямую для выполнения запроса на изменение или запрос к серверу SQL

Можно использовать объект QueryDef для любого типа запроса, включая select, действия crosstab, удаления, обновления, добавления, делать- таблицу, определение данных SQL пропуск- через соединения и массовых запросов. Тип запроса определяется содержимым инструкции SQL, которое необходимо указать. Дополнительные сведения о видах запросов см. в разделе Выполнить и функции-члены GetType. Наборы записей часто используются для строка- возвращая запросов обычно тех с использованием SELECT… ИЗ ключевых слов. Выполнить чаще всего используется для массовых операций. Дополнительные сведения см. в разделе Execute и CDaoRecordset.

Querydefs и наборы записей

Чтобы использовать объект QueryDef создать объект CDaoRecordset обычно создании или открытии QueryDef, как описано выше. Затем создайте объект набора записей передачи указателя на свой объект QueryDef при вызове CDaoRecordset::Open. QueryDef передаче должно находиться в открытом состоянии. Дополнительные сведения см. в описании класса CDaoRecordset.

Нельзя использовать QueryDef для создания набора записей (чаще всего используются для QueryDef), если оно не будет в открытом состоянии. Поместите QueryDef в открытое состояние, путем вызова Открыть или Создать.

Внешние базы данных

Объекты QueryDef предпочтительный способ - использовать собственный диалект SQL обработчика внешней базы данных. Например, можно создать SQL-запрос Transact (например, используемое для Microsoft SQL Server) и сохранить его в объекте QueryDef. При необходимости использовать SQL-запрос не на основе компонента database engine для jet (Майкрософт), необходимо предоставить строку соединения, указывающую к внешнему источнику данных. Запросы с допустимыми строками подключения для которых не используется компонент database engine и передают запрос непосредственно на сервер внешней базы данных для обработки.

Совет

Предпочтительный способ работы с таблицами ODBC вложить их в базу данных Microsoft jet (.MDB).

Дополнительные сведения см. в разделах "объект QueryDef", "коллекцию QueryDefs" и "объект CdbDatabase" пакета SDK DAO.

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

CObject

CDaoQueryDef

Требования

Header: afxdao.h

См. также

Ссылки

Класс CObject

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

Класс CDaoRecordset

Класс CDaoDatabase

Класс CDaoTableDef

Класс CDaoException