CDaoQueryDef

Un objeto CDaoQueryDef representa una definición de consulta, o "querydef," normalmente uno guarda en una base de datos. Un objeto querydef es un objeto de acceso de datos que contiene la instrucción SQL que describe una consulta y sus propiedades, tales como "Fecha de creación" y "Tiempo de espera de ODBC". También puede crear objetos querydef temporales sin guardarlos, pero es conveniente — y mucho más eficiente guardar comúnmente reutilizados consultas en una base de datos. Un objeto CDaoDatabase mantiene una colección, llamada la colección QueryDefs, que contiene su querydefs guardada.

&Notanbsp;  Las clases de base de datos DAO son distintas de las clases de base de datos MFC basadas en Open Database Connectivity (ODBC). Todos los nombres de clase de base de datos DAO tienen el prefijo "CDao". Puede todavía acceso a orígenes de datos ODBC con las clases DAO. En general, las clases MFC basadas en DAO son más capaces que las clases MFC basadas en ODBC; las clases de DAO pueden acceder a datos, incluyendo a través de controladores ODBC, a través de su propio motor de base de datos. Las clases DAO basado también admiten operaciones de lenguaje de definición de datos (DDL), tales como agregar tablas a través de las clases, sin tener que llamar directamente a DAO.

Uso

Utilizar objetos querydef o para trabajar con una consulta guardada existente o para crear un nuevo guarda la consulta o temporal:

  1. En todos los casos, construir un objeto CDaoQueryDef , suministrando un puntero al objeto CDaoDatabase a la que pertenece la consulta.

  2. A continuación, realice los siguientes, dependiendo de lo que desea:
    • Para utilizar una consulta guardada existente, llamar la función miembro Open del objeto querydef, suministrando el nombre de la consulta guardada.

    • Para crear una nueva consulta guardada, llamada función de miembro de creación del objeto querydef, suministrando el nombre de la consulta. A continuación, llamar Append para guardar la consulta de anexarlo a la colección de definiciones de consulta de la base de datos. Crear pone la definición de consulta en un estado abierto, por lo que después de llamar a crear llamar no Abrir.

    • Para crear un objeto querydef temporal, llame a crear. Pasar una cadena vacía para el nombre de la consulta. No llame a Anexar.

Cuando termine de utilizar un objeto querydef, llame a su función miembro Close ; luego destruye el objeto querydef.

Sugere&ncianbsp;  La forma más sencilla de crear consultas guardadas es crearlas y almacenarlos en la base de datos utilizando Microsoft Access. A continuación, puede abrir y utilizar en el código MFC.

Efectos

Puede utilizar un objeto querydef para cualquiera de los siguientes propósitos:

Puede utilizar un objeto querydef para cualquier tipo de consulta, incluidos los seleccione, acción, referencias cruzadas, eliminar, actualizar, anexar, creación de tabla, definición de datos, paso SQL, Unión y consultas a granel. Tipo de la consulta es determinado por el contenido de la instrucción SQL que se proporciona. Para obtener información acerca de los tipos de consulta, vea las funciones miembro Execute y GetType . Conjuntos de registros son usados comúnmente para regresar a la fila consultas, generalmente aquellos que utilizan el SELECT... DE palabras clave. Execute es usado comúnmente para operaciones masivas. Para obtener más información, vea ejecutar y CDaoRecordset.

Definiciones y conjuntos de registros

Para utilizar un objeto querydef para crear un objeto CDaoRecordset , normalmente crea o abre un objeto querydef como se describió anteriormente. Entonces construir un objeto recordset, pasando un puntero al objeto querydef cuando llames CDaoRecordset:: Open. La definición de consulta que pase debe estar en un estado abierto. Para obtener más información, vea la clase CDaoRecordset.

No puede utilizar un objeto querydef para crear un conjunto de registros (el uso más común de un objeto querydef) a menos que sea en un estado abierto. Poner la definición de consulta en un estado abierto llamando al Abrir o crear.

Bases de datos externas

Objetos QueryDef son la mejor manera de utilizar el dialecto SQL nativo de un motor de base de datos externa. Por ejemplo, puede crear una consulta de Transact SQL (como los usados en Microsoft SQL Server) y almacenar en un objeto querydef. Cuando necesite utilizar una consulta SQL no basada en el motor de base de datos de Microsoft Jet, debe proporcionar una cadena de conexión que apunta al origen de datos externo. Consultas con válido conectan cadenas saltarse el motor de base de datos y pasan la consulta directamente al servidor de base de datos externa para procesamiento.

Sugere&ncianbsp;  Es la forma preferida para trabajar con tablas ODBC adjuntar a un Microsoft Jet (.Base de datos MDB). Para obtener más información, consulte el artículo DAO externos: trabajar con orígenes de datos externos en la Guía del programador de Visual C++.

Para obtener más información sobre definiciones, consulte el artículo Querydef DAO en la Guía del programador de Visual C++. Para obtener información relacionada, vea los temas "Objeto QueryDef", "Colección QueryDefs" y "Acceso externo bases de datos con DAO" en la ayuda de DAO.

# include lt;afxdao.h>

Miembros de la claseClase base | Diagrama de jerarquía

Muestras  Ejemplo de MFC DAOVIEW | Ejemplo de MFC DAOTABLE

Vea tambié&nnbsp;CDaoRecordset, CDaoDatabase, CDaoTableDef, CDaoException

Index