CDaoQueryDef (clase)CDaoQueryDef Class

Representa una definición de consulta o "querydef", normalmente guardada en una base de datos.Represents a query definition, or "querydef," usually one saved in a database.

SintaxisSyntax

class CDaoQueryDef : public CObject

MiembrosMembers

Constructores públicosPublic Constructors

NombreName DescripciónDescription
CDaoQueryDef:: CDaoQueryDefCDaoQueryDef::CDaoQueryDef Construye un objeto CDaoQueryDef.Constructs a CDaoQueryDef object. A continuación Open , llame a o Create , dependiendo de sus necesidades.Next call Open or Create, depending on your needs.

Métodos públicosPublic Methods

NOMBREName DescripciónDescription
CDaoQueryDef:: AppendCDaoQueryDef::Append Anexa el QueryDef a la colección QueryDefs de la base de datos como una consulta guardada.Appends the querydef to the database's QueryDefs collection as a saved query.
CDaoQueryDef:: CanUpdateCDaoQueryDef::CanUpdate Devuelve un valor distinto de cero si la consulta puede actualizar la base de datos.Returns nonzero if the query can update the database.
CDaoQueryDef:: CloseCDaoQueryDef::Close Cierra el objeto QueryDef.Closes the querydef object. Destruya el objeto de C++ cuando termine de usarlo.Destroy the C++ object when you finish with it.
CDaoQueryDef:: CreateCDaoQueryDef::Create Crea el objeto DAO QueryDef subyacente.Creates the underlying DAO querydef object. Use el QueryDef como una consulta temporal o llame Append a para guardarlo en la base de datos.Use the querydef as a temporary query, or call Append to save it in the database.
CDaoQueryDef:: ExecuteCDaoQueryDef::Execute Ejecuta la consulta definida por el objeto QueryDef.Executes the query defined by the querydef object.
CDaoQueryDef:: GetConnectCDaoQueryDef::GetConnect Devuelve la cadena de conexión asociada a la definición de tipo.Returns the connection string associated with the querydef. La cadena de conexión identifica el origen de datos.The connection string identifies the data source. (Solo para las consultas de paso a través de SQL; de lo contrario, una cadena vacía).(For SQL pass-through queries only; otherwise an empty string.)
CDaoQueryDef:: GetDateCreatedCDaoQueryDef::GetDateCreated Devuelve la fecha en que se creó la consulta guardada.Returns the date the saved query was created.
CDaoQueryDef:: GetDateLastUpdatedCDaoQueryDef::GetDateLastUpdated Devuelve la fecha en que se actualizó por última vez la consulta guardada.Returns the date the saved query was last updated.
CDaoQueryDef:: GetFieldCountCDaoQueryDef::GetFieldCount Devuelve el número de campos definido por la definición de código.Returns the number of fields defined by the querydef.
CDaoQueryDef:: GetFieldInfoCDaoQueryDef::GetFieldInfo Devuelve información sobre un campo especificado definido en la consulta.Returns information about a specified field defined in the query.
CDaoQueryDef:: GetNameCDaoQueryDef::GetName Devuelve el nombre de la definición de la definición.Returns the name of the querydef.
CDaoQueryDef:: GetODBCTimeoutCDaoQueryDef::GetODBCTimeout Devuelve el valor de tiempo de espera utilizado por ODBC (para una consulta ODBC) cuando se ejecuta la definición de consulta.Returns the timeout value used by ODBC (for an ODBC query) when the querydef is executed. Esto determina cuánto tiempo se permite que se complete la acción de la consulta.This determines how long to allow for the query's action to complete.
CDaoQueryDef:: GetParameterCountCDaoQueryDef::GetParameterCount Devuelve el número de parámetros definidos para la consulta.Returns the number of parameters defined for the query.
CDaoQueryDef:: GetParameterInfoCDaoQueryDef::GetParameterInfo Devuelve información sobre un parámetro especificado a la consulta.Returns information about a specified parameter to the query.
CDaoQueryDef:: GetParamValueCDaoQueryDef::GetParamValue Devuelve el valor de un parámetro especificado a la consulta.Returns the value of a specified parameter to the query.
CDaoQueryDef:: GetRecordsAffectedCDaoQueryDef::GetRecordsAffected Devuelve el número de registros afectados por una consulta de acción.Returns the number of records affected by an action query.
CDaoQueryDef:: GetReturnsRecordsCDaoQueryDef::GetReturnsRecords Devuelve un valor distinto de cero si la consulta definida por QueryDef devuelve registros.Returns nonzero if the query defined by the querydef returns records.
CDaoQueryDef:: GetSQLCDaoQueryDef::GetSQL Devuelve la cadena de SQL que especifica la consulta definida por la definición de tipo.Returns the SQL string that specifies the query defined by the querydef.
CDaoQueryDef:: GetTypeCDaoQueryDef::GetType Devuelve el tipo de consulta: Delete, Update, append, make-Table, etc.Returns the query type: delete, update, append, make-table, and so on.
CDaoQueryDef:: IsOpenCDaoQueryDef::IsOpen Devuelve un valor distinto de cero si QueryDef está abierto y se puede ejecutar.Returns nonzero if the querydef is open and can be executed.
CDaoQueryDef:: OpenCDaoQueryDef::Open Abre un QueryDef existente almacenado en la colección QueryDefs de la base de datos.Opens an existing querydef stored in the database's QueryDefs collection.
CDaoQueryDef:: SetConnectCDaoQueryDef::SetConnect Establece la cadena de conexión para una consulta de paso a través de SQL en un origen de datos ODBC.Sets the connection string for a SQL pass-through query on an ODBC data source.
CDaoQueryDef:: SetNameCDaoQueryDef::SetName Establece el nombre de la consulta guardada, reemplazando el nombre que se utiliza cuando se creó la definición de consulta.Sets the name of the saved query, replacing the name in use when the querydef was created.
CDaoQueryDef:: SetODBCTimeoutCDaoQueryDef::SetODBCTimeout Establece el valor de tiempo de espera utilizado por ODBC (para una consulta ODBC) cuando se ejecuta la definición de consulta.Sets the timeout value used by ODBC (for an ODBC query) when the querydef is executed.
CDaoQueryDef:: SetParamValueCDaoQueryDef::SetParamValue Establece el valor de un parámetro especificado en la consulta.Sets the value of a specified parameter to the query.
CDaoQueryDef:: SetReturnsRecordsCDaoQueryDef::SetReturnsRecords Especifica si QueryDef devuelve registros.Specifies whether the querydef returns records. Establecer este atributo en TRUE solo es válido para las consultas de paso a través de SQL.Setting this attribute to TRUE is only valid for SQL pass-through queries.
CDaoQueryDef:: SetSQLCDaoQueryDef::SetSQL Establece la cadena de SQL que especifica la consulta definida por la definición de tipo.Sets the SQL string that specifies the query defined by the querydef.

Miembros de datos públicosPublic Data Members

NombreName DescripciónDescription
CDaoQueryDef:: m_pDAOQueryDefCDaoQueryDef::m_pDAOQueryDef Puntero a la interfaz OLE para el objeto DAO QueryDef subyacente.A pointer to the OLE interface for the underlying DAO querydef object.
CDaoQueryDef:: m_pDatabaseCDaoQueryDef::m_pDatabase Puntero al CDaoDatabase objeto con el que está asociada la QueryDef.A pointer to the CDaoDatabase object with which the querydef is associated. Es posible que la definición de la base de datos se guarde en la base de datos o no.The querydef might be saved in the database or not.

ObservacionesRemarks

Una definición de tipo es un objeto de acceso a datos que contiene la instrucción SQL que describe una consulta y sus propiedades, como "fecha de creación" y "tiempo de espera de ODBC".A querydef is a data access object that contains the SQL statement that describes a query, and its properties, such as "Date Created" and "ODBC Timeout." También puede crear objetos de definición de usuario temporales sin guardarlos, pero es conveniente, y mucho más eficaz, para guardar las consultas que se reutilizan con frecuencia en una base de datos.You can also create temporary querydef objects without saving them, but it is convenient — and much more efficient — to save commonly reused queries in a database. Un objeto CDaoDatabase mantiene una colección, denominada colección QueryDefs, que contiene las definiciones de conjunto guardadas.A CDaoDatabase object maintains a collection, called the QueryDefs collection, that contains its saved querydefs.

Nota

Las clases de base de datos DAO son distintas de las clases de base de datos MFC basadas en Conectividad abierta de bases de datos (ODBC).The DAO database classes are distinct from the MFC database classes based on Open Database Connectivity (ODBC). Todos los nombres de clase de base de datos DAO tienen el prefijo "CDao".All DAO database class names have the "CDao" prefix. Todavía puede obtener acceso a los orígenes de datos ODBC con las clases DAO.You can still access ODBC data sources with the DAO classes. En general, las clases MFC basadas en DAO son más capaces que las clases MFC basadas en ODBC. las clases basadas en DAO pueden tener acceso a los datos, incluidos los controladores ODBC, a través de su propio motor de base de datos.In general, the MFC classes based on DAO are more capable than the MFC classes based on ODBC; the DAO-based classes can access data, including through ODBC drivers, via their own database engine. Las clases basadas en DAO también admiten operaciones de lenguaje de definición de datos (DDL), como agregar tablas a través de las clases, sin tener que llamar a DAO directamente.The DAO-based classes also support Data Definition Language (DDL) operations, such as adding tables via the classes, without having to call DAO directly.

UsoUsage

Utilice los objetos QueryDef para trabajar con una consulta guardada existente o para crear una consulta guardada o una consulta temporal:Use querydef objects either to work with an existing saved query or to create a new saved query or temporary query:

  1. En todos los casos, primero construya un CDaoQueryDef objeto, proporcionando un puntero al objeto CDaoDatabase al que pertenece la consulta.In all cases, first construct a CDaoQueryDef object, supplying a pointer to the CDaoDatabase object to which the query belongs.

  2. A continuación, haga lo siguiente, en función de lo que desee:Then do the following, depending on what you want:

    • Para utilizar una consulta guardada existente, llame a la función miembro Open del objeto QueryDef y proporcione el nombre de la consulta guardada.To use an existing saved query, call the querydef object's Open member function, supplying the name of the saved query.

    • Para crear una nueva consulta guardada, llame a la función miembro Create del objeto QueryDef y proporcione el nombre de la consulta.To create a new saved query, call the querydef object's Create member function, supplying the name of the query. A continuación, llame a Append para guardar la consulta anexando a la colección QueryDefs de la base de datos.Then call Append to save the query by appending it to the database's QueryDefs collection. Createcoloca la definición de usuario en un estado abierto, por lo que después de llamar a, Create no se llama a Open .Create puts the querydef into an open state, so after calling Create you do not call Open.

    • Para crear una definición de método temporal, llame a Create .To create a temporary querydef, call Create. Pase una cadena vacía para el nombre de la consulta.Pass an empty string for the query name. No llame a Append.Do not call Append.

Cuando termine de usar un objeto QueryDef, llame a la función miembro Close ; a continuación, destruya el objeto QueryDef.When you finish using a querydef object, call its Close member function; then destroy the querydef object.

Sugerencia

La forma más fácil de crear consultas guardadas es crearlas y almacenarlas en la base de datos mediante Microsoft Access.The easiest way to create saved queries is to create them and store them in your database using Microsoft Access. Después, puede abrirlos y usarlos en el código MFC.Then you can open and use them in your MFC code.

FierePurposes

Puede usar un objeto QueryDef para cualquiera de los siguientes propósitos:You can use a querydef object for any of the following purposes:

  • Para crear un CDaoRecordset objetoTo create a CDaoRecordset object

  • Para llamar a la Execute función miembro del objeto para ejecutar directamente una consulta de acción o una consulta de paso a través de SQLTo call the object's Execute member function to directly execute an action query or a SQL pass-through query

Puede usar un objeto QueryDef para cualquier tipo de consulta, como SELECT, Action, crosstab, Delete, Update, append, make-Table, Data Definition, paso a través de SQL, Unión y consultas masivas.You can use a querydef object for any type of query, including select, action, crosstab, delete, update, append, make-table, data definition, SQL pass-through, union, and bulk queries. El tipo de la consulta viene determinado por el contenido de la instrucción SQL que proporcione.The query's type is determined by the content of the SQL statement that you supply. Para obtener información sobre los tipos de consulta, vea las Execute funciones miembro y GetType .For information about query types, see the Execute and GetType member functions. Los conjuntos de registros se utilizan normalmente para las consultas que devuelven filas, normalmente las que usan la ** DE** palabras clave.Recordsets are commonly used for row-returning queries, usually those using the SELECT ... FROM keywords. Executese usa normalmente para operaciones masivas.Execute is most commonly used for bulk operations. Para obtener más información, vea Execute y CDaoRecordset.For more information, see Execute and CDaoRecordset.

Definiciones de conjunto y conjuntos de registrosQuerydefs and Recordsets

Para usar un objeto QueryDef para crear un CDaoRecordset objeto, normalmente se crea o se abre una definición de usuario, como se ha descrito anteriormente.To use a querydef object to create a CDaoRecordset object, you typically create or open a querydef as described above. A continuación, construya un objeto de conjunto de registros, pasando un puntero al objeto QueryDef cuando llame a CDaoRecordset:: Open.Then construct a recordset object, passing a pointer to your querydef object when you call CDaoRecordset::Open. La definición de acceso que se pasa debe estar en un estado abierto.The querydef you pass must be in an open state. Para obtener más información, vea la clase CDaoRecordset.For more information, see class CDaoRecordset.

No se puede usar una definición de usuario para crear un conjunto de registros (el uso más común de una definición de usuario) a menos que esté en un estado abierto.You cannot use a querydef to create a recordset (the most common use for a querydef) unless it is in an open state. Coloque la definición de tipo en un estado abierto llamando a Open o Create .Put the querydef into an open state by calling either Open or Create.

Bases de datos externasExternal Databases

Los objetos QueryDef son la manera preferida de usar el dialecto SQL nativo de un motor de base de datos externo.Querydef objects are the preferred way to use the native SQL dialect of an external database engine. Por ejemplo, puede crear una consulta de Transact-SQL (como se usa en Microsoft SQL Server) y almacenarla en un objeto QueryDef.For example, you can create a Transact SQL query (as used on Microsoft SQL Server) and store it in a querydef object. Cuando necesite usar una consulta SQL que no esté basada en el motor de base de datos de Microsoft Jet, debe proporcionar una cadena de conexión que señale al origen de datos externo.When you need to use a SQL query not based on the Microsoft Jet database engine, you must provide a connection string that points to the external data source. Las consultas con cadenas de conexión válidas omiten el motor de base de datos y pasan la consulta directamente al servidor de bases de datos externo para su procesamiento.Queries with valid connection strings bypass the database engine and pass the query directly to the external database server for processing.

Sugerencia

La mejor manera de trabajar con tablas ODBC es asociarlas a Microsoft Jet (. MDB).The preferred way to work with ODBC tables is to attach them to a Microsoft Jet (.MDB) database.

Para obtener información relacionada, vea los temas "QueryDef Object", "QueryDefs Collection" y "CdbDatabase Object" en el SDK de DAO.For related information, see the topics "QueryDef Object", "QueryDefs Collection", and "CdbDatabase Object" in the DAO SDK.

Jerarquía de herenciaInheritance Hierarchy

CObjectCObject

CDaoQueryDef

RequisitosRequirements

Encabezado: afxdao. hHeader: afxdao.h

CDaoQueryDef:: AppendCDaoQueryDef::Append

Llame a esta función miembro después de llamar a Create para crear un nuevo objeto QueryDef.Call this member function after you call Create to create a new querydef object.

virtual void Append();

ObservacionesRemarks

Appendguarda la definición de grupo en la base de datos anexando el objeto a la colección QueryDefs de la base de datos.Append saves the querydef in the database by appending the object to the database's QueryDefs collection. Puede usar la definición de usuario como un objeto temporal sin anexarlo, pero si desea que se conserve, debe llamar a Append .You can use the querydef as a temporary object without appending it, but if you want it to persist, you must call Append.

Si intenta anexar un objeto de definición de tipos temporal, MFC produce una excepción de tipo CDaoException.If you attempt to append a temporary querydef object, MFC throws an exception of type CDaoException.

CDaoQueryDef:: CanUpdateCDaoQueryDef::CanUpdate

Llame a esta función miembro para determinar si se puede modificar la definición de tipo, por ejemplo, si se cambia el nombre o la cadena SQL.Call this member function to determine whether you can modify the querydef — such as changing its name or SQL string.

BOOL CanUpdate();

Valor devueltoReturn Value

Distinto de cero si se permite modificar la definición de usuario; de lo contrario, es 0.Nonzero if you are permitted to modify the querydef; otherwise 0.

ObservacionesRemarks

Puede modificar la definición de usuario si:You can modify the querydef if:

  • No se basa en una base de datos que está abierta en modo de solo lectura.It is not based on a database that is open read-only.

  • Tiene permisos de actualización para la base de datos.You have update permissions for the database.

    Esto depende de si ha implementado características de seguridad.This depends on whether you have implemented security features. MFC no proporciona compatibilidad con la seguridad; debe implementarla usted mismo llamando a DAO directamente o mediante Microsoft Access.MFC does not provide support for security; you must implement it yourself by calling DAO directly or by using Microsoft Access. Vea el tema "propiedad Permissions" en la ayuda de DAO.See the topic "Permissions Property" in DAO Help.

CDaoQueryDef:: CDaoQueryDefCDaoQueryDef::CDaoQueryDef

Construye un objeto CDaoQueryDef.Constructs a CDaoQueryDef object.

CDaoQueryDef(CDaoDatabase* pDatabase);

ParámetrosParameters

pDatabasepDatabase
Un puntero a un objeto CDaoDatabase abierto.A pointer to an open CDaoDatabase object.

ObservacionesRemarks

El objeto puede representar un objeto QueryDef existente almacenado en la colección QueryDefs de la base de datos, una nueva consulta que se va a almacenar en la colección o una consulta temporal, y que no se debe almacenar.The object can represent an existing querydef stored in the database's QueryDefs collection, a new query to be stored in the collection, or a temporary query, not to be stored. El siguiente paso depende del tipo de definición de tipos:Your next step depends on the type of querydef:

  • Si el objeto representa una definición de usuario existente, llame a la función miembro abierta del objeto para inicializarla.If the object represents an existing querydef, call the object's Open member function to initialize it.

  • Si el objeto representa una nueva definición de usuario que se va a guardar, llame a la función miembro Create del objeto.If the object represents a new querydef to be saved, call the object's Create member function. Esto agrega el objeto a la colección QueryDefs de la base de datos.This adds the object to the database's QueryDefs collection. A continuación, llame a CDaoQueryDef las funciones miembro para establecer los atributos del objeto.Then call CDaoQueryDef member functions to set the object's attributes. Por último, llame a Append.Finally, call Append.

  • Si el objeto representa una definición de tipo temporal (no se debe guardar en la base de datos), llame a Create , pasando una cadena vacía para el nombre de la consulta.If the object represents a temporary querydef (not to be saved in the database), call Create, passing an empty string for the query's name. Después de llamar a Create , inicialice el QueryDef estableciendo directamente sus atributos.After calling Create, initialize the querydef by directly setting its attributes. No llame a Append.Do not call Append.

Para establecer los atributos de la definición de usuario, puede usar las funciones miembro setName, SetSQL, SetConnect, SetODBCTimeouty SetReturnsRecords .To set the attributes of the querydef, you can use the SetName, SetSQL, SetConnect, SetODBCTimeout, and SetReturnsRecords member functions.

Cuando termine con el objeto QueryDef, llame a la función miembro Close .When you finish with the querydef object, call its Close member function. Si tiene un puntero a la definición de usuario, use el delete operador para destruir el objeto de C++.If you have a pointer to the querydef, use the delete operator to destroy the C++ object.

CDaoQueryDef:: CloseCDaoQueryDef::Close

Llame a esta función miembro cuando termine de utilizar el objeto QueryDef.Call this member function when you finish using the querydef object.

virtual void Close();

ObservacionesRemarks

Al cerrar la QueryDef, se libera el objeto DAO subyacente, pero no se destruye el objeto DAO QueryDef guardado ni el objeto de C++ CDaoQueryDef .Closing the querydef releases the underlying DAO object but does not destroy the saved DAO querydef object or the C++ CDaoQueryDef object. Esto no es lo mismo que CDaoDatabase::D eletequerydef, que elimina la QueryDef de la colección QueryDefs de la base de datos en Dao (si no es una definición de biblioteca temporal).This is not the same as CDaoDatabase::DeleteQueryDef, which deletes the querydef from the database's QueryDefs collection in DAO (if not a temporary querydef).

CDaoQueryDef:: CreateCDaoQueryDef::Create

Llame a esta función miembro para crear una nueva consulta guardada o una nueva consulta temporal.Call this member function to create a new saved query or a new temporary query.

virtual void Create(
    LPCTSTR lpszName = NULL,
    LPCTSTR lpszSQL = NULL);

ParámetrosParameters

lpszNamelpszName
Nombre único de la consulta guardada en la base de datos.The unique name of the query saved in the database. Para obtener más información acerca de la cadena, vea el tema "método CreateQueryDef" en la ayuda de DAO.For details about the string, see the topic "CreateQueryDef Method" in DAO Help. Si acepta el valor predeterminado, una cadena vacía, se crea una definición de tipo temporal.If you accept the default value, an empty string, a temporary querydef is created. Este tipo de consulta no se guarda en la colección QueryDefs.Such a query is not saved in the QueryDefs collection.

lpszSQLlpszSQL
Cadena de SQL que define la consulta.The SQL string that defines the query. Si acepta el valor predeterminado de NULL, debe llamar a SetSQL más adelante para establecer la cadena.If you accept the default value of NULL, you must later call SetSQL to set the string. Hasta entonces, la consulta no está definida.Until then, the query is undefined. Sin embargo, puede utilizar la consulta no definida para abrir un conjunto de registros; Vea la sección Comentarios para obtener más información.You can, however, use the undefined query to open a recordset; see Remarks for details. La instrucción SQL debe definirse antes de poder anexar la definición de usuario a la colección QueryDefs.The SQL statement must be defined before you can append the querydef to the QueryDefs collection.

ObservacionesRemarks

Si pasa un nombre en lpszName, puede llamar a Append para guardar la definición de acceso en la colección QueryDefs de la base de datos.If you pass a name in lpszName, you can then call Append to save the querydef in the database's QueryDefs collection. De lo contrario, el objeto es una definición de tipo temporal y no se guarda.Otherwise, the object is a temporary querydef and is not saved. En cualquier caso, la definición de tipo está en un estado abierto y se puede usar para crear un objeto CDaoRecordset o para llamar a la función miembro Execute de la definición de tipo.In either case, the querydef is in an open state, and you can either use it to create a CDaoRecordset object or call the querydef's Execute member function.

Si no se proporciona una instrucción SQL en lpszSQL, no se puede ejecutar la consulta con Execute pero se puede usar para crear un conjunto de registros.If you do not supply a SQL statement in lpszSQL, you cannot run the query with Execute but you can use it to create a recordset. En ese caso, MFC utiliza la instrucción SQL predeterminada del conjunto de registros.In that case, MFC uses the recordset's default SQL statement.

CDaoQueryDef:: ExecuteCDaoQueryDef::Execute

Llame a esta función miembro para ejecutar la consulta definida por el objeto QueryDef.Call this member function to run the query defined by the querydef object.

virtual void Execute(int nOptions = dbFailOnError);

ParámetrosParameters

nOptionsnOptions
Entero que determina las características de la consulta.An integer that determines the characteristics of the query. Para obtener información relacionada, vea el tema sobre el método Execute en la ayuda de DAO.For related information, see the topic "Execute Method" in DAO Help. Puede usar el operador OR bit a bit ( |) para combinar las constantes siguientes para este argumento:You can use the bitwise-OR operator ( |) to combine the following constants for this argument:

  • dbDenyWriteDenegar el permiso de escritura a otros usuarios.dbDenyWrite Deny write permission to other users.

  • dbInconsistentActualizaciones incoherentes.dbInconsistent Inconsistent updates.

  • dbConsistentActualizaciones coherentes.dbConsistent Consistent updates.

  • dbSQLPassThroughPaso a través de SQL.dbSQLPassThrough SQL pass-through. Hace que la instrucción SQL se pase a una base de datos ODBC para su procesamiento.Causes the SQL statement to be passed to an ODBC database for processing.

  • dbFailOnErrorValor predeterminado.dbFailOnError Default value. Revertir las actualizaciones si se produce un error y notificar el error al usuario.Roll back updates if an error occurs and report the error to the user.

  • dbSeeChangesGenerar un error en tiempo de ejecución si otro usuario está cambiando los datos que está editando.dbSeeChanges Generate a run-time error if another user is changing data you are editing.

Nota

Para obtener una explicación de los términos "incoherentes" y "coherentes", vea el tema "ejecutar método" en la ayuda de DAO.For an explanation of the terms "inconsistent" and "consistent," see the topic "Execute Method" in DAO Help.

ObservacionesRemarks

Los objetos QueryDef usados para la ejecución de esta manera solo pueden representar uno de los siguientes tipos de consulta:Querydef objects used for execution in this manner can only represent one of the following query types:

  • Consultas de acciónAction queries

  • Consultas de paso a través de SQLSQL pass-through queries

Executeno funciona para las consultas que devuelven registros, como consultas Select.Execute does not work for queries that return records, such as select queries. Executese utiliza normalmente para las consultas de operaciones masivas, como Update, Inserto SELECT INTO, o para las operaciones de lenguaje de definición de datos (DDL).Execute is commonly used for bulk operation queries, such as UPDATE, INSERT, or SELECT INTO, or for data definition language (DDL) operations.

Sugerencia

La mejor manera de trabajar con orígenes de datos ODBC es adjuntar tablas a Microsoft Jet (. MDB).The preferred way to work with ODBC data sources is to attach tables to a Microsoft Jet (.MDB) database. Para obtener más información, vea el tema "obtener acceso a bases de datos externas con DAO" en la ayuda de DAO.For more information, see the topic "Accessing External Databases with DAO" in DAO Help.

Llame a la función miembro GetRecordsAffected del objeto QueryDef para determinar el número de registros afectados por la llamada más reciente Execute .Call the GetRecordsAffected member function of the querydef object to determine the number of records affected by the most recent Execute call. Por ejemplo, GetRecordsAffected devuelve información sobre el número de registros eliminados, actualizados o insertados al ejecutar una consulta de acción.For example, GetRecordsAffected returns information about the number of records deleted, updated, or inserted when executing an action query. El recuento devuelto no reflejará los cambios en las tablas relacionadas cuando las actualizaciones o eliminaciones en cascada estén en vigor.The count returned will not reflect changes in related tables when cascade updates or deletes are in effect.

Si incluye dbInconsistent y dbConsistent o si no incluye ninguno, el resultado es el valor predeterminado, dbInconsistent .If you include both dbInconsistent and dbConsistent or if you include neither, the result is the default, dbInconsistent.

Executeno devuelve un conjunto de registros.Execute does not return a recordset. ExecuteEl uso de en una consulta que selecciona registros hace que MFC produzca una excepción de tipo CDaoException.Using Execute on a query that selects records causes MFC to throw an exception of type CDaoException.

CDaoQueryDef:: GetConnectCDaoQueryDef::GetConnect

Llame a esta función miembro para obtener la cadena de conexión asociada al origen de datos de la definición de acceso.Call this member function to get the connection string associated with the querydef's data source.

CString GetConnect();

Valor devueltoReturn Value

Objeto CString que contiene la cadena de conexión para la definición de tipo.A CString containing the connection string for the querydef.

ObservacionesRemarks

Esta función solo se utiliza con orígenes de datos ODBC y ciertos controladores ISAM.This function is used only with ODBC data sources and certain ISAM drivers. No se utiliza con Microsoft Jet (. MDB); en este caso, GetConnect devuelve una cadena vacía.It is not used with Microsoft Jet (.MDB) databases; in this case, GetConnect returns an empty string. Para obtener más información, vea SetConnect.For more information, see SetConnect.

Sugerencia

La mejor manera de trabajar con tablas ODBC es asociarlas a un. Base de datos MDB.The preferred way to work with ODBC tables is to attach them to an .MDB database. Para obtener más información, vea el tema "obtener acceso a bases de datos externas con DAO" en la ayuda de DAO.For more information, see the topic "Accessing External Databases with DAO" in DAO Help.

Para obtener información acerca de las cadenas de conexión, vea el tema "propiedad de conexión" en la ayuda de DAO.For information about connection strings, see the topic "Connect Property" in DAO Help.

CDaoQueryDef:: GetDateCreatedCDaoQueryDef::GetDateCreated

Llame a esta función miembro para obtener la fecha en que se creó el objeto QueryDef.Call this member function to get the date the querydef object was created.

COleDateTime GetDateCreated();

Valor devueltoReturn Value

Objeto COleDateTime que contiene la fecha y hora en que se creó la definición de tipo.A COleDateTime object containing the date and time the querydef was created.

ObservacionesRemarks

Para obtener información relacionada, vea el tema "DateCreated, propiedades de LastUpdated" en la ayuda de DAO.For related information, see the topic "DateCreated, LastUpdated Properties" in DAO Help.

CDaoQueryDef:: GetDateLastUpdatedCDaoQueryDef::GetDateLastUpdated

Llame a esta función miembro para obtener la fecha en que se actualizó por última vez el objeto QueryDef, cuando se cambió alguna de sus propiedades, como su nombre, su cadena SQL o su cadena de conexión.Call this member function to get the date the querydef object was last updated — when any of its properties were changed, such as its name, its SQL string, or its connection string.

COleDateTime GetDateLastUpdated();

Valor devueltoReturn Value

Objeto COleDateTime que contiene la fecha y la hora en que se actualizó por última vez la definición de tipo.A COleDateTime object containing the date and time the querydef was last updated.

ObservacionesRemarks

Para obtener información relacionada, vea el tema "DateCreated, propiedades de LastUpdated" en la ayuda de DAO.For related information, see the topic "DateCreated, LastUpdated Properties" in DAO Help.

CDaoQueryDef:: GetFieldCountCDaoQueryDef::GetFieldCount

Llame a esta función miembro para recuperar el número de campos de la consulta.Call this member function to retrieve the number of fields in the query.

short GetFieldCount();

Valor devueltoReturn Value

El número de campos definidos en la consulta.The number of fields defined in the query.

ObservacionesRemarks

GetFieldCountresulta útil para recorrer todos los campos de la definición de acceso.GetFieldCount is useful for looping through all fields in the querydef. Para ello, use GetFieldCount junto con GetFieldInfo.For that purpose, use GetFieldCount in conjunction with GetFieldInfo.

CDaoQueryDef:: GetFieldInfoCDaoQueryDef::GetFieldInfo

Llame a esta función miembro para obtener varios tipos de información sobre un campo definido en la definición de tipo.Call this member function to obtain various kinds of information about a field defined in the querydef.

void GetFieldInfo(
    int nIndex,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetFieldInfo(
    LPCTSTR lpszName,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

ParámetrosParameters

nIndexnIndex
Índice de base cero del campo deseado en la colección de campos de la definición de consulta, para la búsqueda por índice.The zero-based index of the desired field in the querydef's Fields collection, for lookup by index.

FieldInfofieldinfo
Referencia a un CDaoFieldInfo objeto que devuelve la información solicitada.A reference to a CDaoFieldInfo object that returns the information requested.

dwInfoOptionsdwInfoOptions
Opciones que especifican la información sobre el campo que se va a recuperar.Options that specify which information about the field to retrieve. Aquí se enumeran las opciones disponibles junto con lo que hacen que la función devuelva:The available options are listed here along with what they cause the function to return:

  • AFX_DAO_PRIMARY_INFO (valor predeterminado) Name, Type, size, AttributesAFX_DAO_PRIMARY_INFO (Default) Name, Type, Size, Attributes

  • AFX_DAO_SECONDARY_INFO información principal más: posición ordinal, requerida, Permitir longitud cero, campo de origen, nombre externo, tabla de origen, orden de intercalaciónAFX_DAO_SECONDARY_INFO Primary information plus: Ordinal Position, Required, Allow Zero Length, Source Field, Foreign Name, Source Table, Collating Order

  • AFX_DAO_ALL_INFO información principal y secundaria más: valor predeterminado, texto de validación, regla de validaciónAFX_DAO_ALL_INFO Primary and secondary information plus: Default Value, Validation Text, Validation Rule

lpszNamelpszName
Cadena que contiene el nombre del campo deseado, para la búsqueda por nombre.A string containing the name of the desired field, for lookup by name. Puede usar un CString.You can use a CString.

ObservacionesRemarks

Para obtener una descripción de la información que se devuelve en FieldInfo, vea la estructura cdaofieldinfo ( .For a description of the information returned in fieldinfo, see the CDaoFieldInfo structure. Esta estructura tiene miembros que corresponden a la información descriptiva en dwInfoOptions anterior.This structure has members that correspond to the descriptive information under dwInfoOptions above. Si solicita un nivel de información, también obtendrá cualquier nivel de información anterior.If you request one level of information, you get any prior levels of information as well.

CDaoQueryDef:: GetNameCDaoQueryDef::GetName

Llame a esta función miembro para recuperar el nombre de la consulta representada por la definición de usuario.Call this member function to retrieve the name of the query represented by the querydef.

CString GetName();

Valor devueltoReturn Value

Nombre de la consulta.The name of the query.

ObservacionesRemarks

Los nombres de QueryDef son nombres únicos definidos por el usuario.Querydef names are unique user-defined names. Para obtener más información sobre los nombres de QueryDef, vea el tema "propiedad Name" en la ayuda de DAO.For more information about querydef names, see the topic "Name Property" in DAO Help.

CDaoQueryDef:: GetODBCTimeoutCDaoQueryDef::GetODBCTimeout

Llame a esta función miembro para recuperar el límite de tiempo actual antes de que se agote el tiempo de espera de una consulta a un origen de datos ODBC.Call this member function to retrieve the current time limit before a query to an ODBC data source times out.

short GetODBCTimeout();

Valor devueltoReturn Value

El número de segundos antes de que una consulta exceda el tiempo de espera.The number of seconds before a query times out.

ObservacionesRemarks

Para obtener información acerca de este límite de tiempo, vea el tema "propiedad ODBCTimeout" en la ayuda de DAO.For information about this time limit, see the topic "ODBCTimeout Property" in DAO Help.

Sugerencia

La mejor manera de trabajar con tablas ODBC es asociarlas a Microsoft Jet (. MDB).The preferred way to work with ODBC tables is to attach them to a Microsoft Jet (.MDB) database. Para obtener más información, vea el tema "obtener acceso a bases de datos externas con DAO" en la ayuda de DAO.For more information, see the topic "Accessing External Databases with DAO" in DAO Help.

CDaoQueryDef:: GetParameterCountCDaoQueryDef::GetParameterCount

Llame a esta función miembro para recuperar el número de parámetros de la consulta guardada.Call this member function to retrieve the number of parameters in the saved query.

short GetParameterCount();

Valor devueltoReturn Value

El número de parámetros definidos en la consulta.The number of parameters defined in the query.

ObservacionesRemarks

GetParameterCountresulta útil para recorrer todos los parámetros de la definición de acceso.GetParameterCount is useful for looping through all parameters in the querydef. Para ello, use GetParameterCount junto con GetParameterInfo.For that purpose, use GetParameterCount in conjunction with GetParameterInfo.

Para obtener información relacionada, vea los temas "objeto de parámetro", "colección de parámetros" y "Declaración de parámetros (SQL)" en la ayuda de DAO.For related information, see the topics "Parameter Object", "Parameters Collection", and "PARAMETERS Declaration (SQL)" in DAO Help.

CDaoQueryDef:: GetParameterInfoCDaoQueryDef::GetParameterInfo

Llame a esta función miembro para obtener información sobre un parámetro definido en la definición de datos.Call this member function to obtain information about a parameter defined in the querydef.

void GetParameterInfo(
    int nIndex,
    CDaoParameterInfo& paraminfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetParameterInfo(
    LPCTSTR lpszName,
    CDaoParameterInfo& paraminfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

ParámetrosParameters

nIndexnIndex
Índice de base cero del parámetro deseado en la colección de parámetros de la definición de la consulta, para la búsqueda por índice.The zero-based index of the desired parameter in the querydef's Parameters collection, for lookup by index.

paraminfoparaminfo
Referencia a un objeto cdaoparameterinfo ( que devuelve la información solicitada.A reference to a CDaoParameterInfo object that returns the information requested.

dwInfoOptionsdwInfoOptions
Opciones que especifican la información sobre el parámetro que se va a recuperar.Options that specify which information about the parameter to retrieve. La opción disponible se muestra aquí junto con lo que hace que la función devuelva:The available option is listed here along with what it causes the function to return:

  • AFX_DAO_PRIMARY_INFO (valor predeterminado), escribaAFX_DAO_PRIMARY_INFO (Default) Name, Type

lpszNamelpszName
Cadena que contiene el nombre del parámetro deseado, para la búsqueda por nombre.A string containing the name of the desired parameter, for lookup by name. Puede usar un CString.You can use a CString.

ObservacionesRemarks

Para obtener una descripción de la información que se devuelve en paraminfo, consulte la estructura cdaoparameterinfo ( .For a description of the information returned in paraminfo, see the CDaoParameterInfo structure. Esta estructura tiene miembros que corresponden a la información descriptiva en dwInfoOptions anterior.This structure has members that correspond to the descriptive information under dwInfoOptions above.

Para obtener información relacionada, vea el tema "Parameters declaration (SQL)" en la ayuda de DAO.For related information, see the topic "PARAMETERS Declaration (SQL)" in DAO Help.

CDaoQueryDef:: GetParamValueCDaoQueryDef::GetParamValue

Llame a esta función miembro para recuperar el valor actual del parámetro especificado almacenado en la colección de parámetros de la definición de la definición.Call this member function to retrieve the current value of the specified parameter stored in the querydef's Parameters collection.

virtual COleVariant GetParamValue(LPCTSTR lpszName);
virtual COleVariant GetParamValue(int nIndex);

ParámetrosParameters

lpszNamelpszName
Nombre del parámetro cuyo valor se desea, para la búsqueda por nombre.The name of the parameter whose value you want, for lookup by name.

nIndexnIndex
Índice de base cero del parámetro en la colección de parámetros de la definición de la consulta, para la búsqueda por índice.The zero-based index of the parameter in the querydef's Parameters collection, for lookup by index. Puede obtener este valor con llamadas a GetParameterCount y GetParameterInfo.You can obtain this value with calls to GetParameterCount and GetParameterInfo.

Valor devueltoReturn Value

Objeto de la clase COleVariant que contiene el valor del parámetro.An object of class COleVariant that contains the parameter's value.

ObservacionesRemarks

Puede tener acceso al parámetro por el nombre o por su posición ordinal en la colección.You can access the parameter either by name or by its ordinal position in the collection.

Para obtener información relacionada, vea el tema "Parameters declaration (SQL)" en la ayuda de DAO.For related information, see the topic "PARAMETERS Declaration (SQL)" in DAO Help.

CDaoQueryDef:: GetRecordsAffectedCDaoQueryDef::GetRecordsAffected

Llame a esta función miembro para determinar el número de registros afectados por la última llamada de Execute.Call this member function to determine how many records were affected by the last call of Execute.

long GetRecordsAffected();

Valor devueltoReturn Value

El número de registros afectados.The number of records affected.

ObservacionesRemarks

El recuento devuelto no reflejará los cambios en las tablas relacionadas cuando las actualizaciones o eliminaciones en cascada estén en vigor.The count returned will not reflect changes in related tables when cascade updates or deletes are in effect.

Para obtener información relacionada, vea el tema "propiedad RecordsAffected" en la ayuda de DAO.For related information see the topic "RecordsAffected Property" in DAO Help.

CDaoQueryDef:: GetReturnsRecordsCDaoQueryDef::GetReturnsRecords

Llame a esta función miembro para determinar si la definición de usuario se basa en una consulta que devuelve registros.Call this member function to determine whether the querydef is based on a query that returns records.

BOOL GetReturnsRecords();

Valor devueltoReturn Value

Distinto de cero si QueryDef se basa en una consulta que devuelve registros; de lo contrario, es 0.Nonzero if the querydef is based on a query that returns records; otherwise 0.

ObservacionesRemarks

Esta función miembro solo se utiliza para las consultas de paso a través de SQL.This member function is only used for SQL pass-through queries. Para obtener más información sobre las consultas SQL, vea la función miembro Execute .For more information about SQL queries, see the Execute member function. Para obtener más información sobre cómo trabajar con consultas de paso a través de SQL, vea la función miembro SetReturnsRecords .For more information about working with SQL pass-through queries, see the SetReturnsRecords member function.

Para obtener información relacionada, vea el tema "propiedad ReturnsRecords" en la ayuda de DAO.For related information, see the topic "ReturnsRecords Property" in DAO Help.

CDaoQueryDef:: GetSQLCDaoQueryDef::GetSQL

Llame a esta función miembro para recuperar la instrucción SQL que define la consulta en la que se basa la definición de usuario.Call this member function to retrieve the SQL statement that defines the query on which the querydef is based.

CString GetSQL();

Valor devueltoReturn Value

Instrucción SQL que define la consulta en la que se basa la definición de consulta.The SQL statement that defines the query on which the querydef is based.

ObservacionesRemarks

Probablemente analizará la cadena para palabras clave, nombres de tabla, etc.You will then probably parse the string for keywords, table names, and so on.

Para obtener información relacionada, vea los temas "propiedad SQL", "comparación de Microsoft Jet Motor de base de datos SQL y ANSI SQL" y "consultar una base de datos con SQL en el código" en la ayuda de DAO.For related information, see the topics "SQL Property", "Comparison of Microsoft Jet Database Engine SQL and ANSI SQL", and "Querying a Database with SQL in Code" in DAO Help.

CDaoQueryDef:: GetTypeCDaoQueryDef::GetType

Llame a esta función miembro para determinar el tipo de consulta de la definición de tipo.Call this member function to determine the query type of the querydef.

short GetType();

Valor devueltoReturn Value

Tipo de la consulta definida por la definición de tipo.The type of the query defined by the querydef. Para ver los valores, vea la sección Comentarios.For values, see Remarks.

ObservacionesRemarks

El tipo de consulta lo establece lo que se especifica en la cadena de SQL de la definición de tipos al crear la definición de tipo o llamar a una función miembro SetSQL de una QueryDef existente.The query type is set by what you specify in the querydef's SQL string when you create the querydef or call an existing querydef's SetSQL member function. El tipo de consulta devuelto por esta función puede ser uno de los valores siguientes:The query type returned by this function can be one of the following values:

  • dbQSelectNodbQSelect Select

  • Acción de dbQActiondbQAction Action

  • dbQCrosstabReferencias cruzadasdbQCrosstab Crosstab

  • dbQDelete DeletedbQDelete Delete

  • dbQUpdate UpdatedbQUpdate Update

  • dbQAppendAnexardbQAppend Append

  • dbQMakeTableMake-TabledbQMakeTable Make-table

  • dbQDDLDefinición de datosdbQDDL Data-definition

  • dbQSQLPassThroughPaso a travésdbQSQLPassThrough Pass-through

  • dbQSetOperationUnióndbQSetOperation Union

  • dbQSPTBulkSe utiliza con dbQSQLPassThrough para especificar una consulta que no devuelve registros.dbQSPTBulk Used with dbQSQLPassThrough to specify a query that does not return records.

Nota

Para crear una consulta de paso a través de SQL, no establezca la dbSQLPassThrough constante.To create a SQL pass-through query, don't set the dbSQLPassThrough constant. El motor de base de datos de Microsoft Jet lo establece automáticamente cuando se crea un objeto QueryDef y se establece la cadena de conexión.This is set automatically by the Microsoft Jet database engine when you create a querydef object and set the connection string.

Para obtener información sobre las cadenas SQL, vea GetSQL.For information about SQL strings, see GetSQL. Para obtener información sobre los tipos de consulta, consulte Execute.For information about query types, see Execute.

CDaoQueryDef:: IsOpenCDaoQueryDef::IsOpen

Llame a esta función miembro para determinar si el CDaoQueryDef objeto está abierto actualmente.Call this member function to determine whether the CDaoQueryDef object is currently open.

BOOL IsOpen() const;

Valor devueltoReturn Value

Es distinto de cero si el CDaoQueryDef objeto está abierto actualmente; de lo contrario, es 0.Nonzero if the CDaoQueryDef object is currently open; otherwise 0.

ObservacionesRemarks

Una definición de usuario debe estar en un estado abierto antes de usarla para llamar a Execute o para crear un objeto CDaoRecordset .A querydef must be in an open state before you use it to call Execute or to create a CDaoRecordset object. Para colocar una definición de tipo en una llamada de estado abierto, cree (para una nueva definición de tipo) o abra (para una definición de tipo existente).To put a querydef into an open state call either Create (for a new querydef) or Open (for an existing querydef).

CDaoQueryDef:: m_pDatabaseCDaoQueryDef::m_pDatabase

Contiene un puntero al objeto CDaoDatabase asociado al objeto QueryDef.Contains a pointer to the CDaoDatabase object associated with the querydef object.

ObservacionesRemarks

Utilice este puntero si necesita tener acceso a la base de datos directamente, por ejemplo, para obtener punteros a otros objetos QueryDef o Recordset de las colecciones de la base de datos.Use this pointer if you need to access the database directly — for example, to obtain pointers to other querydef or recordset objects in the database's collections.

CDaoQueryDef:: m_pDAOQueryDefCDaoQueryDef::m_pDAOQueryDef

Contiene un puntero a la interfaz OLE para el objeto DAO QueryDef subyacente.Contains a pointer to the OLE interface for the underlying DAO querydef object.

ObservacionesRemarks

Este puntero se proporciona por integridad y coherencia con las otras clases.This pointer is provided for completeness and consistency with the other classes. Sin embargo, dado que MFC en lugar de encapsular totalmente definiciones de usuario DAO, es poco probable que la necesite.However, because MFC rather fully encapsulates DAO querydefs, you are unlikely to need it. Si lo usa, hágalo con precaución, en particular, no cambie el valor del puntero a menos que sepa lo que está haciendo.If you do use it, do so cautiously — in particular, do not change the value of the pointer unless you know what you are doing.

CDaoQueryDef:: OpenCDaoQueryDef::Open

Llame a esta función miembro para abrir una definición de usuario previamente guardada en la colección QueryDefs de la base de datos.Call this member function to open a querydef previously saved in the database's QueryDefs collection.

virtual void Open(LPCTSTR lpszName = NULL);

ParámetrosParameters

lpszNamelpszName
Cadena que contiene el nombre de la definición de tipo guardada que se va a abrir.A string that contains the name of the saved querydef to open. Puede usar un CString.You can use a CString.

ObservacionesRemarks

Una vez abierta la definición de usuario, se puede llamar a la función miembro Execute o usar la definición de método para crear un objeto CDaoRecordset .Once the querydef is open, you can call its Execute member function or use the querydef to create a CDaoRecordset object.

CDaoQueryDef:: SetConnectCDaoQueryDef::SetConnect

Llame a esta función miembro para establecer la cadena de conexión del objeto QueryDef.Call this member function to set the querydef object's connection string.

void SetConnect(LPCTSTR lpszConnect);

ParámetrosParameters

lpszConnectlpszConnect
Cadena que contiene una cadena de conexión para el objeto CDaoDatabase asociado.A string that contains a connection string for the associated CDaoDatabase object.

ObservacionesRemarks

La cadena de conexión se usa para pasar información adicional a ODBC y ciertos controladores ISAM según sea necesario.The connection string is used to pass additional information to ODBC and certain ISAM drivers as needed. No se utiliza para Microsoft Jet (. MDB).It is not used for Microsoft Jet (.MDB) databases.

Sugerencia

La mejor manera de trabajar con tablas ODBC es asociarlas a un. Base de datos MDB.The preferred way to work with ODBC tables is to attach them to an .MDB database.

Antes de ejecutar una definición de tipo que representa una consulta de paso a través de SQL a un origen de datos ODBC, establezca la cadena de conexión con SetConnect y llame a SetReturnsRecords para especificar si la consulta devuelve registros.Before executing a querydef that represents a SQL pass-through query to an ODBC data source, set the connection string with SetConnect and call SetReturnsRecords to specify whether the query returns records.

Para obtener más información sobre la estructura de la cadena de conexión y ejemplos de componentes de la cadena de conexión, vea el tema "propiedad de conexión" en la ayuda de DAO.For more information about the connection string's structure and examples of connection string components, see the topic "Connect Property" in DAO Help.

CDaoQueryDef:: SetNameCDaoQueryDef::SetName

Llame a esta función miembro si desea cambiar el nombre de una definición de usuario que no es temporal.Call this member function if you want to change the name of a querydef that is not temporary.

void SetName(LPCTSTR lpszName);

ParámetrosParameters

lpszNamelpszName
Cadena que contiene el nuevo nombre de una consulta no temporal en el objeto CDaoDatabase asociado.A string that contains the new name for a nontemporary query in the associated CDaoDatabase object.

ObservacionesRemarks

Los nombres de QueryDef son nombres únicos definidos por el usuario.Querydef names are unique, user-defined names. Puede llamar a SetName antes de que el objeto QueryDef se anexe a la colección QueryDefs.You can call SetName before the querydef object is appended to the QueryDefs collection.

CDaoQueryDef:: SetODBCTimeoutCDaoQueryDef::SetODBCTimeout

Llame a esta función miembro para establecer el límite de tiempo antes de que una consulta a un origen de datos ODBC agote el tiempo de espera.Call this member function to set the time limit before a query to an ODBC data source times out.

void SetODBCTimeout(short nODBCTimeout);

ParámetrosParameters

nODBCTimeoutnODBCTimeout
El número de segundos antes de que una consulta exceda el tiempo de espera.The number of seconds before a query times out.

ObservacionesRemarks

Esta función miembro permite reemplazar el número predeterminado de segundos antes de que se agote el tiempo de espera de las operaciones posteriores en el origen de datos conectado.This member function lets you override the default number of seconds before subsequent operations on the connected data source "time out." Una operación puede agotar el tiempo de espera debido a problemas de acceso a la red, un tiempo de procesamiento excesivo de consultas, etc.An operation might time out due to network access problems, excessive query processing time, and so on. Llame a SetODBCTimeout antes de ejecutar una consulta con este QueryDef si desea cambiar el valor de tiempo de espera de la consulta.Call SetODBCTimeout prior to executing a query with this querydef if you want to change the query timeout value. (Cuando ODBC reutiliza las conexiones, el valor de tiempo de espera es el mismo para todos los clientes en la misma conexión).(As ODBC reuses connections, the timeout value is the same for all clients on the same connection.)

El valor predeterminado de los tiempos de espera de la consulta es de 60 segundos.The default value for query timeouts is 60 seconds.

CDaoQueryDef:: SetParamValueCDaoQueryDef::SetParamValue

Llame a esta función miembro para establecer el valor de un parámetro en la definición de usuario en tiempo de ejecución.Call this member function to set the value of a parameter in the querydef at run time.

virtual void SetParamValue(
    LPCTSTR lpszName,
    const COleVariant& varValue);

virtual void SetParamValue(
    int nIndex,
    const COleVariant& varValue);

ParámetrosParameters

lpszNamelpszName
Nombre del parámetro cuyo valor se va a establecer.The name of the parameter whose value you want to set.

varValuevarValue
Valor que se va a establecer. Vea la sección Comentarios.The value to set; see Remarks.

nIndexnIndex
Posición ordinal del parámetro en la colección de parámetros de la definición de la definición.The ordinal position of the parameter in the querydef's Parameters collection. Puede obtener este valor con llamadas a GetParameterCount y GetParameterInfo.You can obtain this value with calls to GetParameterCount and GetParameterInfo.

ObservacionesRemarks

El parámetro ya se debe haber establecido como parte de la cadena SQL de la definición de tipo.The parameter must already have been established as part of the querydef's SQL string. Puede tener acceso al parámetro por el nombre o por su posición ordinal en la colección.You can access the parameter either by name or by its ordinal position in the collection.

Especifique el valor que se va a establecer como un COleVariant objeto.Specify the value to set as a COleVariant object. Para obtener información sobre cómo establecer el valor y el tipo deseado en el COleVariant objeto, vea la clase COleVariant.For information about setting the desired value and type in your COleVariant object, see class COleVariant.

CDaoQueryDef:: SetReturnsRecordsCDaoQueryDef::SetReturnsRecords

Llame a esta función miembro como parte del proceso de configuración de una consulta de paso a través de SQL en una base de datos externa.Call this member function as part of the process of setting up a SQL pass-through query to an external database.

void SetReturnsRecords(BOOL bReturnsRecords);

ParámetrosParameters

bReturnsRecordsbReturnsRecords
Pass TRUE si la consulta en una base de datos externa devuelve registros; en caso contrario, FALSE.Pass TRUE if the query on an external database returns records; otherwise, FALSE.

ObservacionesRemarks

En tal caso, debe crear la definición de tipo y establecer sus propiedades mediante otras CDaoQueryDef funciones miembro.In such a case, you must create the querydef and set its properties using other CDaoQueryDef member functions. Para obtener una descripción de las bases de datos externas, vea SetConnect.For a description of external databases, see SetConnect.

CDaoQueryDef:: SetSQLCDaoQueryDef::SetSQL

Llame a esta función miembro para establecer la instrucción SQL que ejecuta la QueryDef.Call this member function to set the SQL statement that the querydef executes.

void SetSQL(LPCTSTR lpszSQL);

ParámetrosParameters

lpszSQLlpszSQL
Una cadena que contiene una instrucción SQL completa, adecuada para su ejecución.A string containing a complete SQL statement, suitable for execution. La sintaxis de esta cadena depende del DBMS de destino de la consulta.The syntax of this string depends on the DBMS that your query targets. Para obtener una explicación de la sintaxis utilizada en el motor de base de datos de Microsoft Jet, vea el tema "Building SQL statements in Code" en la ayuda de DAO.For a discussion of syntax used in the Microsoft Jet database engine, see the topic "Building SQL Statements in Code" in DAO Help.

ObservacionesRemarks

Un uso típico de SetSQL es configurar un objeto de definición de acceso para su uso en una consulta de paso a través de SQL.A typical use of SetSQL is setting up a querydef object for use in a SQL pass-through query. (Para ver la sintaxis de las consultas de paso a través de SQL en el DBMS de destino, consulte la documentación de su DBMS).(For the syntax of SQL pass-through queries on your target DBMS, see the documentation for your DBMS.)

Consulte tambiénSee also

CObject (clase)CObject Class
Gráfico de jerarquíaHierarchy Chart
CDaoRecordset (clase)CDaoRecordset Class
CDaoDatabase (clase)CDaoDatabase Class
CDaoTableDef (clase)CDaoTableDef Class
CDaoException (clase)CDaoException Class