L’accès aux données avec ADO.NET
Les bases d’ADO.NET
Sous .NET, l’accès aux données s’effectue à l’aide du bloc de services ADO.NET. Bien que le framework ASP.NET ait été enrichi de nouveaux contrôles facilitant la lecture et la présentation des données SQL, le développeur devrait toujours considérer l’emploi du mode connecté pour élaborer une application ASP.NET. En effet, les contraintes de charge, d’intégration et d’exécution du web ont une influence très forte sur l’efficacité finale d’une application ASP.NET.
1. Le mode connecté
En mode connecté, tous les formats de base de données adoptent le même fonctionnement. Nous l’illustrerons avec SQL Server, et pour passer à d’autres formats, il n’y aura qu’à changer d’espace de noms et à modifier le préfixe de chaque classe.
Le tableau suivant donne la marche à suivre pour appliquer ces changements :
|
Espace de noms |
Connexion |
Commande |
SQL Server |
System.Data.SqlClient |
SqlConnection |
SqlCommand |
Access |
System.Data.OleDB |
OleDBConnection |
OleDBCommand |
Oracle |
System.Data.OracleClient |
OracleConnection |
OracleCommand |
Les autres classes sont nommées sur le même principe.
a. La connexion
La connexion SqlConnection désigne un canal par lequel sont échangés les ordres et les lignes SQL. Ce canal relie le programme C# et la base de données.
L’objet SqlConnection possède plusieurs états, dont deux remarquables : ouvert et fermé. Les autres états sont actifs en régime transitoire ou en cas d’erreur.
Le programme interagit avec une connexion par le biais de la propriété ConnectionString et des méthodes Open() et Close(). L’essentiel des opérations liées à une base ne peut...
Accès aux données à base de fournisseurs
1. Introduction au développement par fournisseurs
L’accès aux données depuis un site ASP.NET est sans aucun doute un des aspects les plus délicats à agencer ; pour aider l’architecte dans sa tâche, le framework .NET propose plusieurs niveaux de développement :
Mode connecté |
Classes et composants en prise directe avec la base de données. |
Mode déconnecté |
Composants et outils découplant l’interface graphique de la base de données. |
Mode fournisseur de données |
Systématisation d’une organisation d’accès aux données. |
Le développement à base de fournisseur ne consiste pas en l’enrichissement de l’API de nouvelles classes. Il s’agit plutôt d’une stratégie, d’une organisation pour obtenir un bon résultat. En ce qui concerne l’accès aux données, Microsoft a défini des fournisseurs sous forme de contrôles qui regroupent une interface pour le data binding, un réservoir de données (disons un DataSet), un mécanisme d’adaptation, un cache de données ainsi qu’une stratégie.
Le framework ASP.NET définit des contrôles qui implémentent l’accès aux données selon le mode fournisseur. La section Données de la boîte à outils de Visual Studio propose justement ce type de contrôle.
De manière complémentaire, il existe d’autres contrôles utiles à la présentation et à l’édition des données.
a. Contrôles sources de données en mode fournisseur
Ces contrôles ont en commun d’adopter un style déclaratif : s’agissant de contrôles Web Forms, leurs propriétés...
Les composants graphiques de présentation des données
1. Le composant GridView
Le composant GridView succède au DataGrid, toujours disponible pour des raisons de maintenance mais devenu obsolète. Le GridView reprend les grandes lignes du fonctionnement et de la mise en place de son prédécesseur. Il est aussi beaucoup plus pratique pour les opérations de mise à jour.
a. Présentation tabulaire des données
Les sources de données SQL sont organisées en tables et en enregistrements. Le GridView présente chaque enregistrement sur une ligne, les colonnes de la table devenant les colonnes d’un tableau.
La source de données
Les smart tags (raccourcis graphiques) sont très utiles pour paramétrer un composant GridView, et notamment sa source de données (Configurer la source de données). S’il s’agit d’un contrôle source (SqlDataSource par exemple), l’appel à la méthode DataBind() n’est pas nécessaire. S’il s’agit d’un DataSet, le programmeur devra effectuer cet appel comme c’était le cas en version 1.X.
Le format général
Le format général (couleurs, largeurs, apparence) est définissable à partir de la barre de propriétés. Comme pour le DataGrid qu’il remplace, des formats standard sont applicables par le smart tag Mettre en forme automatiquement. Il n’est pas possible de personnaliser la liste des formats standard livrés avec Visual Studio.
Les colonnes
Par défaut, le GridView détecte les champs présents au niveau de sa source de données et génère pour chacun d’eux une colonne "HTML". Le programmeur décide de l’ordre des colonnes et applique un formatage aux valeurs correspondantes. Il utilise à cet effet le smart...