Share via


CDaoDatabase::Execute

Llame a esta función miembro para ejecutar una consulta de acciones o ejecutar una instrucción SQL en la base de datos.

void Execute( 
   LPCTSTR lpszSQL, 
   int nOptions = dbFailOnError  
);

Parámetros

  • lpszSQL
    Puntero a una cadena terminada en null que contiene un comando SQL válido de ejecutarse.

  • nOptions
    Un entero que especifica las opciones sobre la integridad de la consulta.Puede utilizar bit a bit el operador (|) para combinar las constantes de cualquiera de las siguientes (proporcionadas en la combinación tiene sentido (por ejemplo, no combinaría dbInconsistent con dbConsistent):

    • dbDenyWrite deniega el permiso de escritura a otros usuarios.

    • Actualizaciones incoherentes ( predeterminada) dedbInconsistent .

    • Actualizaciones coherentes dedbConsistent .

    • Paso a través de SQL dedbSQLPassThrough .Hace que la instrucción SQL que se va a pasar a un origen de datos ODBC para procesar.

    • dbFailOnError rueda actualizaciones posteriores si se produce un error.

    • dbSeeChanges genera un error en tiempo de ejecución si otro usuario cambia datos que está editando.

[!NOTA]

Si dbInconsistent y dbConsistent incluidos o si ninguno es incluir, el resultado es el valor predeterminado.Para obtener una explicación de estas constantes, vea el tema “ejecutar método” en la Ayuda de DAO.

Comentarios

Ejecutar sólo funciona para las consultas de acciones o consultas de paso a través de SQL que no hacen los resultados devueltos.no funciona para las consultas de selección, que devuelven los registros.

Para una definición e información sobre consultas de acciones, vea los temas “consulta de acciones” y “ejecutar método” en la Ayuda de DAO.

SugerenciaSugerencia

Dada una instrucción SQL sintácticamente correcta y permisos adecuados, la función miembro de Ejecutar no producirá un error aunque no una única fila puede modificar o eliminar.Utilice por consiguiente, siempre la opción de dbFailOnError al utilizar la función miembro de Ejecutar de ejecutar una consulta de actualización o eliminación.Esta opción hace MFC para producir una excepción de CDaoException escrito y revierte todos los cambios correctos si es un de los registros afectado se bloquea y no puede actualizarse o eliminarse.Observe que puede llamar siempre GetRecordsAffected para ver cuántos registros se vieron afectados.

Llame a la función miembro de GetRecordsAffected de objeto de base de datos para determinar el número de registros afectados por la llamada más reciente de Ejecutar .Por ejemplo, GetRecordsAffected devuelve información sobre el número de registros eliminado, actualizado, incrustado o al ejecutar una consulta de acciones.El número devuelto no reflejará los cambios en tablas relacionadas cuando la cascada actualiza o elimina está vigente.

Ejecutar no devuelve un conjunto de registros.Mediante Ejecutar en una consulta que selecciona las causas MFC de los registros de producir una excepción de CDaoExceptionescrito.(No hay ninguna función miembro de ExecuteSQL análoga a CDatabase::ExecuteSQL.)

Requisitos

encabezado: afxdao.h

Vea también

Referencia

Clase CDaoDatabase

Gráfico de jerarquía