Класс CDaoQueryDef
Представляет определение запроса или "QueryDef" обычно одно сохраненное в базе данных.
class CDaoQueryDef : public CObject
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CDaoQueryDef .В следующем вызове Открыть или Создать, в зависимости от имеющихся необходимостей. |
Открытые методы
Имя |
Описание |
---|---|
Добавляет QueryDef в коллекцию QueryDefs базы данных как сохраненный запрос. |
|
Возвращает ненулевое значение, если запрос может обновить базу данных. |
|
Закрывает объект QueryDef.Уничтожить объект C++ после завершения с ним. |
|
Создает базовый объект QueryDef DAO.Используйте QueryDef как временный запрос или вызвать метод Добавление, чтобы сохранить ее в базе данных. |
|
Выполняет запрос, определенный объектом QueryDef. |
|
Возвращает строку подключения, связанную с QueryDef.Строка соединения указывает источник данных.(Только для запросов к серверу SQL; в противном случае – пустая строка). |
|
Возвращает дату сохраненный запрос был создан. |
|
Сохраненный запрос возвращает дату последнего обновления. |
|
Возвращает количество полей, заданных QueryDef. |
|
Возвращает сведения об указанном поле указанном в запросе. |
|
Возвращает имя QueryDef. |
|
Возвращает значение времени ожидания, используемое ODBC (ODBC) при QueryDef для запроса будет исполнено.Это задает время, выделенное для завершения действия запроса. |
|
Возвращает количество параметров, определенных для запроса. |
|
Возвращает сведения об указанном параметре к запросу. |
|
Возвращает значение указанного параметра к запросу. |
|
Возвращает число записей, затронутых запросом на изменение. |
|
Возвращает ненулевое значение, если запрос, указанный QueryDef возвращает записи. |
|
Возвращает строку SQL, которая определяет запрос, определенный QueryDef. |
|
Возвращает тип запроса: добавление, обновление, удаление делать- таблицы и т д |
|
Возвращает ненулевое значение, если QueryDef открытым и может быть исполнено. |
|
Открывает существующий QueryDef, хранящихся в коллекции QueryDefs базы данных. |
|
Задает строку подключения для запроса к серверу SQL на источник данных ODBC. |
|
Задает имя сохраненного запроса, заменяя имя использовать, когда QueryDef было создано. |
|
Задает значение времени ожидания для запроса, используемый ODBC (ODBC) при QueryDef будет исполнено. |
|
Задает значение заданного параметра к запросу. |
|
Определяет, возвращает ли QueryDef записи.Установка этого атрибута к TRUE допустим только для запросов к серверу SQL. |
|
Задает строку SQL, определяющая запрос, определенный QueryDef. |
Открытые члены данных
Имя |
Описание |
---|---|
Указатель на интерфейс OLE для базового объекта QueryDef DAO. |
|
Указатель на объект 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 или работать с существующими сохранены запросом или создать новый сохраненный запрос или временный запрос:
Во всех случаях, сначала создайте объект CDaoQueryDef, указав указатель на объект CDaoDatabase, к которому принадлежит запрос.
Затем выполните следующие действия в зависимости от того, что необходимо:
Для использования существовать сохранить запрос, вызовите функцию-член Открытие объекта 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.
Иерархия наследования
CDaoQueryDef
Требования
Header: afxdao.h