Accès aux données : ADO.NET
Objectif
Maîtriser l’accès aux bases de données, en utilisant les objets ADO.net
Mode d’emploi
Pour chacun des thèmes abordés, ce support de formation :
présente les points essentiels
renvoie à des supports de cours, des livres ou à la documentation en ligne du
constructeur, par le symbole :
propose des exercices pratiques par le symbole :
Autres symboles utilisés :
Point important qui mérite d’être souligné

A éviter à tout prix !
Manipulation à réaliser avec un utilitaire graphique (qui devrait
normalement simplifier le travail !)
Approfondissement : travail de documentation ou exercice supplémentaire,
à faire individuellement (non intégré dans le temps de formation moyen)
Lectures conseillées
- Manuel de référence Microsoft ADO. NET, de David Sceppa
- La documentation en ligne de VB .NET (très détaillée, et en français). Nous
indiquerons à chaque chapitre les recherches à effectuer dans l’index.
Outils de développement
Visual Studio .net
Microsoft SQL server
Sommaire
1 PRESENTATION GENERALE D’ADO .NET ...................................................... 3
1.1 Quelques mots sur l’architecture .NET de Microsoft .......................................................................... 3
1.2 Le modèle objet d’ADO .NET................................................................................................................ 3
1.3 Les objets du Fournisseur de données................................................................................................... 5
1.4 Les objets du DataSet ............................................................................................................................. 5
2 L’ACCES AUX DONNEES EN MODE CONNECTE ........................................... 6
2.1 La connexion ado .net ............................................................................................................................. 6
2.1.1 Créer une connexion par code ........................................................................... 6
2.1.2 Quelques propriétés et méthodes de l’objet SqlConnection ............................... 7
2.1.3 Créer et configurer une connexion avec l’assistant ........................................... 7
2.1.4 Accéder aux données, par l’explorateur de serveurs ......................................... 8
2.2 La commande ado .net ............................................................................................................................ 9
2.2.1 Création et initialisation d’une commande par code ......................................... 9
2.2.2 Quelques propriétés et méthodes de l’objet Command ...................................... 9
2.2.3 Requêtes de mise à jour .................................................................................... 10
2.2.4 Requêtes paramétrées ...................................................................................... 11
2.2.4.1 Utilisation des commandes paramétrées, par code ............................................... 11
2.2.4.2 Quelques propriétés et méthodes des paramètres ................................................. 12
2.2.4.3 Création d’une commande paramétrée, avec l’assistant ..................................... 13
2.2.5 Requête de type SELECT .................................................................................. 13
2.2.5.1 Exécution d’une commande par ExecuteScalar() ................................................. 13
2.2.5.2 Exécution d’une commande par ExecuteReader() ............................................... 14
2.2.5.3 Quelques propriétés et méthodes de l’objet DataReader .................................... 15
2.3 Les transactions .................................................................................................................................... 18
2.3.1 La gestion des transactions ............................................................................... 18
2.3.2 Quelques propriétés et méthodes de l’objet Transaction ................................. 19
2.4 L’utilisation des procédures stockées .................................................................................................. 19
2.4.1 Appel de la procédure stockée ......................................................................... 19
2.4.2 Récupération des résultats de la procédure stockée ........................................ 20
2.4.3 Procédure stockée et gestion des transactions ................................................. 20
3 L’ACCES AUX DONNEES EN MODE DECONNECTE .................................... 22
3.1 Le DataSet ............................................................................................................................................. 22
3.1.1 Quelques propriétés et méthodes des objets DataSet et DataTable ................. 22
3.2 Le DataAdapter .................................................................................................................................... 23
3.2.1 Quelques propriétés et méthodes de l’objet DataAdapter ............................... 24
3.3 Utilisation du DataSet et du DataAdapter par code ......................................................................... 25
3.4 Utilisation du DataSet à l’aide de l’assistant ..................................................................................... 27
3.5 les controles liés ..................................................................................................................................... 29
3.5.1 Le DataBinding ................................................................................................ 29
3.5.2 Les DataGrids .................................................................................................. 30
3.5.3 Les ComboBox et les ListBox ........................................................................... 32
3.6 Les mises a jour via les datasets .......................................................................................................... 34
4 LES REPORTS ................................................................................................ 36
4.1 Création d’un Report ........................................................................................................................... 36
4.2 Exécution du report .............................................................................................................................. 37
Presentation generale d’ADO .NET
Dans la plupart des applications informatiques actuelles, il est indispensable d’accéder en
lecture ou en mise à jour à des bases de données, locales ou distantes. Ce document montre
comment utiliser Visual Studio .NET pour accéder aux données et pour les présenter à
l’utilisateur.
Quelques mots sur l’architecture .NET de Microsoft
Visual Studio .NET est une plate-forme de développement d’applications graphiques,
multilangages (Visual Basic .NET, C# etc..). Tous les exemples de ce document sont écrits
en VB .Net mais peuvent facilement être transposés dans n’importe quel langage de la plate-
forme.
Visual Studio .NET possède un modèle objet appelé ADO .NET (ActiveX Data Object
.NET), qui permet de se connecter à de nombreuses bases de données relationnelles. Le même
modèle est utilisable dans des applications client-serveur classiques écrites en VB .NET et
dans des applications Web basées sur ASP .NET (Active Server Page .NET).
ADO .NET fait partie d’une bibliothèque de classes (le Framework) qui peut fonctionner
sur plusieurs architectures : PC de bureau, Téléphones portables, Pocket PC. Toutes les
classes du Framework s’appuient sur une couche logicielle, la CLR (Common Language
Runtime) qui les interface avec les différents systèmes d’exploitation. La CLR est l’équivalent
dans le monde Microsoft, de la machine virtuelle Java.
Le modèle objet d’ADO .NET
ADO .NET permet de travailler en deux modes :
Common Language Runtime
Bibliothèque de classes communes
(Framework .NET)
IHM Données
ADO.NET
WEB (ASP.NET)
Client (VB .NET )
Système d’exploitation
- « connecté » : le poste client maintient une « connexion » réseau avec le serveur, et lui
envoie des requêtes pour lire ou écrire directement dans la base de données distante ;
- « déconnecté » : le poste client effectue une copie locale des données en mémoire, dans
un DataSet (groupe de données). Le DataSet contient des tables qui permettent de copier
et d’organiser les données sur le poste client.
ADO.NET distingue :
- La communication avec la base de données, qui s’effectue par un Fournisseur de
données (Data Provider). Il existe des fournisseurs génériques (préfixes OleDb, Odbc)
qui sont reconnus par la plupart des bases de données, et quelques fournisseurs
spécialisés pour un SGBD donné (préfixes sql pour SqlServer, oracle pour Oracle).
Dans ce document, nous prendrons toujours comme exemple le fournisseur d’accès pour
SqlServer.
- La manipulation locale des données, que l’on peut recopier dans un DataSet
Les objets du Fournisseur de données
- L’objet Connection permet de se connecter à une base de données en donnant le nom du
serveur, de la base, et le nom et le mot de passe d’un utilisateur connu du SGDB. En
utilisant l’objet Connection, votre programme effectue la même opération vis-à-vis du
serveur que la phase de connexion de l’utilisateur dans « L’Analyseur de requêtes ».
- L'objet Command permet d’envoyer à la base de données, des requêtes SQL
d’interrogation ou de modification, avec ou sans paramètres. L’objet Command contient
une collection Parameters qui permet de passer des paramètres en entrée à la requête
avant son exécution sur le serveur, et de récupérer des paramètres de sortie après
exécution. A noter que l’objet Command permet également d’exécuter des procédures
stockées sur le serveur, et de récupérer leur valeur de retour.
- Pour les requêtes qui renvoient des données (SELECT), on peut récupérer directement
ces données en mode connecté grâce au DataReader : cet objet simple permet de lire
séquentiellement les lignes sélectionnées par le SELECT, sans pouvoir les modifier ou
revenir en arrière.
- L’objet DataAdapter est le support du mode « déconnecté ». Il est plus élaboré que le
DataReader et contient quatre commandes, correspondant aux quatre instructions SQL
de base : SELECT, UPDATE, INSERT, DELETE. Il permet de remplir le DataSet,
grâce à sa requête SELECT, et éventuellement de répercuter des mises à jour du DataSet
vers la base de données via les requêtes UPDATE, INSERT et DELETE.
Les objets du DataSet
- Le DataSet stocke une copie des données en mode connecté, indépendamment de
toute base de données : on peut le remplir localement avec des tableaux, des collections.
Il peut être utilisé avec plusieurs bases de données, ou des fichiers XML.
- Le DataSet constitue à lui seul une petite base de données relationnelles en mémoire. Il
contient une ou plusieurs tables (collection d'un ou plusieurs objets DataTable)
constituées de lignes (DataRowCollection) et de colonnes (DataColumnCollection), et
éventuellement des définitions de contraintes d’intégrité (clés primaires et clés
étrangères).
1 / 38 100%