Partager via


CDaoDatabase::Execute

 

Appelez la fonction membre pour exécuter une requête Action ou pour exécuter une instruction SQL sur la base de données.

Syntaxe

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

Paramètres

  • lpszSQL
    Pointeur vers une chaîne terminée par le caractère NULL qui contient une commande SQL Valide d'exécuter.

  • nOptions
    Un entier qui spécifie des options relatives à l'état de la requête.Vous pouvez utiliser l'opérateur de bits OR (|) pour combiner les constantes suivantes l'une des (fournies la combinaison est logique (par exemple, vous ne mixeriez pas dbInconsistent avec dbConsistent) :

    • dbDenyWrite refusent l'accès en écriture à d'autres utilisateurs.

    • Mises à jour incohérentes ( par défaut) dedbInconsistent .

    • Mises à jour la cohérence dedbConsistent .

    • Convertisseur dedbSQLPassThrough SQL.Entraîne l'instruction SQL d'être passé à une source de données ODBC pour traiter.

    • dbFailOnError roulent les mises à jour arrières si une erreur se produit.

    • dbSeeChanges génèrent une erreur d'exécution si un autre utilisateur modifie les données que vous modifiez.

Notes

Si dbInconsistent et dbConsistent sont inclus ou si aucune n'est fourni, le résultat est la valeur par défaut.Pour obtenir une explication de ces constantes, consultez la rubrique « exécuter la méthode » dans l'aide de DAO.

Notes

Exécuter fonctionne uniquement pour les requêtes Action ou des requêtes SQL direct qui n'ont pas de résultats.Cela ne fonctionne pas pour les requêtes select, qui retourne des enregistrements.

Pour une définition des informations sur les requêtes Action, consultez les rubriques traitant requête Action » et « exécuter la méthode » dans l'aide de DAO.

Conseil

À partir d'une instruction SQL syntaxiquement correcte et des autorisations appropriées, la fonction membre de Exécuter n'échouera pas même si aucune ligne peut être modifiée ou supprimée.Par conséquent, utilisez toujours la possibilité de dbFailOnError lorsque vous utilisez la fonction membre de Exécuter d'effectuer une mise à jour ou une requête delete.Cette option permet de lever une exception de type CDaoException et annule toutes les modifications réussies si les enregistrements l'un des affectés sont verrouillés et ne peuvent pas être mis à jour ou supprimés.Notez que vous pouvez toujours appeler GetRecordsAffected pour connaître le nombre d'enregistrements ont été affectés.

Appelez la fonction membre de GetRecordsAffected de l'objet de base de données pour déterminer le nombre d'enregistrements affectés par l'appel de Exécuter le plus récent.Par exemple, GetRecordsAffected retourne des informations sur le nombre d'enregistrements supprimés, mis à jour, ou insérés en exécutant une requête Action.Le nombre retourné reflétera ne pas les modifications dans les tables connexes lorsque la cascade met à jour ou les suppressions sont appliquées.

Exécuter ne retourne pas un recordset.Utilisation Exécuter sur une requête qui sélectionne des causes MFC d'enregistrements pour lever une exception de type CDaoException.(Aucune fonction membre d' ExecuteSQL analogue à CDatabase::ExecuteSQL.)

Configuration requise

Header: afxdao.h

Voir aussi

CDaoDatabase Class
Graphique hiérarchique