CDaoQueryDef

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

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

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

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

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

  2. Затем выполните следующие действия в зависимости от того, что вы хотите:
    • Чтобы использовать существующий сохраненный запрос, вызовите объект querydef функции-члена Open , имя сохраненного запроса.

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

    • Для создания временной querydef, вызовите Create. Передайте пустую строку для имени запроса. Не следует вызывать Append.

Когда вы закончите, с помощью объекта querydef, вызовите его тесной члена; затем уничтожить объект querydef.

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

Цели

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

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

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

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

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

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

QueryDef объекты являются предпочтительным способом использовать родной диалект SQL внешней СУБД. Например можно создать Transact SQL запроса (используется на сервере Microsoft SQL Server) и хранить его в объекта querydef. Когда вам нужно использовать не на основе базы данных Microsoft Jet SQL-запрос, необходимо указать строку соединения, которая указывает к внешнему источнику данных. Запросы с действительными подключите объездной строки компонент database engine и передать запрос прямо на сервер внешней базы данных для обработки.

Подсказка   Предпочтительным способом для работы с таблицами ODBC является приложить их к Microsoft Jet (.База данных MDB). Для получения дополнительных сведений см. статью DAO внешние: работа с внешними источниками данных в Руководстве по Visual C++ программист.

Дополнительные сведения о querydefs, найти в статье DAO Querydef в Visual C++ программист руководстве. Сопутствующую информацию приведены в разделах «Объект QueryDef», «QueryDefs сборник» и «Доступ К внешним базам данных с DAO», в справке DAO.

# include lt;afxdao.h>

Члены классаБазовый класс | Иерархическая схема

Образцы  Образца MFC DAOVIEW | Образца MFC DAOTABLE

См. также CDaoRecordset, CDaoDatabase, CDaoTableDef, CDaoException

Index