CDatabase::BeginTrans

BOOL BeginTrans ( );

Valeur de retour

Différent de zéro si l'appel a réussi et les modifications sont validées uniquement manuellement ; sinon 0.

Remarques

Appelez cette fonction membre pour commencer une transaction avec la source de données connectée. Une transaction se compose d'un ou plusieurs appels aux fonctions membres AddNew, Edit, Deleteet mise à jour d'un objet CRecordset . Avant de commencer une transaction, l'objet CDatabase doit déjà avoir été connecté à la source de données en appelant sa fonction membre OpenEx ou Open . À la fin de la transaction, appelez CommitTrans d'accepter toutes les modifications apportées à la source de données (et réaliser) ou Rollback pour abandonner l'opération. Appel BeginTrans après l'ouverture des Jeux d'enregistrements impliqué dans la transaction comme proche de la réelle mise à jour et opérations possible.

Prudencenbsp ;  Selon votre pilote ODBC, ouverture d'un jeu d'enregistrements avant d'appeler BeginTrans peut causer des problèmes lors de l'appel de Rollback. Vous devez vérifier le pilote spécifique que vous utilisez. Par exemple, lorsque vous utilisez le pilote Microsoft Access inclus dans le Microsoft ODBC Desktop Driver Pack 3.0, vous devez tenir compte de l'exigence du moteur de base de données Jet que vous ne devez pas commencer une transaction sur une base de données qui a un curseur ouvert. Dans les classes de base de données MFC, un curseur ouvert signifie un objet CRecordset ouvert. Pour plus d'informations, consultez Technical &Note 68.

BeginTrans peuvent également verrouiller des enregistrements de données sur le serveur, selon la concurrence d'accès demandé et les capacités de la source de données. Pour plus d'informations sur le verrouillage des données, consultez l'article jeu d'enregistrements : verrouillage enregistrements (ODBC) dans le Guide du programmeur Visual C++.

Les opérations définies par l'utilisateur sont expliquées dans l'article Transaction ((ODBC)) dans le Guide du programmeur Visual C++.

BeginTrans établit l'État auquel la séquence d'opérations peut être restaurée (inversé). Pour établir un nouvel état de restaurations, commettre toute transaction en cours, puis réouvre BeginTrans.

! AVERTISSEME&NTnbsp ;  Appelant de nouveau BeginTrans sans appeler CommitTrans ou Rollback est une erreur.

Appelez la fonction membre CanTransact afin de déterminer si votre pilote prend en charge les transactions pour une base de données. Vous devez également appeler GetCursorCommitBehavior et GetCursorRollbackBehavior afin de déterminer le soutien pour la préservation du curseur.

Pour plus d'informations sur les transactions, consultez l'article Transaction ((ODBC)) dans le Guide du programmeur Visual C++.

Exemple

Consultez l'article Transaction : exécution d'une Transaction dans un jeu d'enregistrements (ODBC) dans le Guide du programmeur Visual C++.

Aperçu de l'objet CDatabase |  ; Membres de la classe | Graphique de la hiérarchie

Voir aussi  ;CDatabase::CommitTrans, CDatabase::Rollback, CRecordset::CanTransact

Index