Documente Academic
Documente Profesional
Documente Cultură
Les transactions
CFMOTI/NTIC1/2TDI
CFMOTI/NTIC1/2TDI
CFMOTI/NTIC1/2TDI
CFMOTI/NTIC1/2TDI
CFMOTI/NTIC1/2TDI
CFMOTI/NTIC1/2TDI
1.3 Prsentation de la base de donnes Dans les cas pratiques prsents dans ce cours, nous allons utiliser une base de donnes SQL Server 2008 nomme DotnetFranceA pour aborder les transactions locales
1.3.1 Cration de la base de donnes DotnetFranceA La base de donnes DotnetFranceA ne contient quune seule table, nomme Stagiaire. Voici un script SQL, permettant de crer cette table :
CFMOTI/NTIC1/2TDI
composant System.data.dll du Framework .NET. Cette classe expose les mthodes BeginTransaction, Commit et Rollback, essentielles dans la mise en uvre des transactions. En fonction des classes daccs aux donnes utilises, vous utiliserez la classe suivante : - System.Data.Odbc.OdbcTransaction - System.Data.OleDb.OleDbTransaction - System.Data.OracleClient.OracleTransaction - System.Data.SqlClient.SqlTransaction
La mthode BeginTransaction permet de dbuter la transaction. La mthode Commit permet de valider les modifications effectues par les requtes excutes au sein de la transaction. La mthode Rollback permet dannuler ces modifications. 2.1.2 Mise en uvre Dans lexemple ci-dessous, nous utilisons une transaction, au sein de la quelle sont excutes deux requtes Insert sur une base de donnes SQL Server 2008. Nous utiliserons donc la classe SqlTransaction. Si les deux requtes sexcutant au sein de cette transaction sont excutes avec succs : - Nous appliquons sur lobjet Transaction la mthode Commit, pour valider la transaction. - Dans une bote de message, nous afficherons le message Transaction valide . Dans le cas o lexcution dune des deux requtes choue : - Nous appliquons sur lobjet Transaction la mthode Rollback, pour annuler la transaction. - Dans une bote de message, nous affichons le message derreur. Dans notre cas, nous ajoutons un premier Stagiaire. Cet ajout sexcute normalement. Le second provoque la leve dune exception, car lajout dun stagiaire avec un identifiant existant provoque une violation dune contrainte de cl primaire. Ainsi, la transaction est annule, et aucun ajout nest effectu en base de donnes.
CFMOTI/NTIC1/2TDI