Accueil > Expertise > Tester nos experts > Technologies > DataSet, DataReader, DataGrid
Technologies : ASP.Net
Quels sont les liens et différences entre un DataSet, un DataReader et un DataGrid ?
En premier lieu, il est important de savoir que DataSet et DataReader sont sensiblement les mêmes objets métiers agissant sur les données alors
qu'un DataGrid est une interface utilisateur représentant un tableau de données.
Quelles sont les véritables différences entre ces objets ?
Le DataSet
Il s'agit d'un modèle d'objet qui offre une vue "générale" des données
sans aucune attache avec la source de données réelle.
Le DataSet est un cache de données, il ne connaît rien de la base de données existante
(non connaissance de la source, du format). Il s'agit d'une copie plate de la
base de données. Notons que le DataSet interprète correctement les fichiers au format XML
et manipule les données qu'il contient comme des enregistrements d'une table.
Il peut contenir des données relationnelles ou non relationnelles.
La particularité d'un DataSet est qu'il permet de travailler en mode déconnecté
sur une base de données. Cette dernière peut être mise à jour périodiquement par programmation.
Le DataSet est rempli grâce à l'objet DataAdapter.
Le DataAdapter établit la connexion entre le DataSet et la base de données et rend possible les mises à jour .
L'objet DataView permet de réaliser une extraction du flux contenu dans un DataSet.
Ainsi, toutes les données sont chargées dans le DataSet une seule fois, puis des requêtes (assimilables à des filtres)
peuvent être effectuées sans se reconnecter systématiquement à la base de données.
|
|
Lien entre le DataSet et la base de données
|
Le DataReader
Similaire au DataSet, le DataReader se différencie essentiellement par son accès direct
et connecté aux données. Le DataReader est plus performant que le DataSet dans des cas
comme la simple consultation des données. Le DataReader n'est qu'un pointeur
sur les données en lecture seule. Cela permet d'alléger l'accès au serveur.
Côté développement, le code programmé pour
accèder aux données s'effectue de la même façon qu'avec un DataSet, seules les méthodes
appelées changent.
En ce qui concerne son utilisation, le DataReader s'utilise comme un DataSet.
Le DataView n'est pas utilisable dans ce cas.
Le DataGrid
Le DataGrid est utilisé pour présenter de l'information. Il se présente sous la forme d'une table.
(Notons que deux objets similaires existent : le Repeater et le DataList.)
Le DataGrid permet de présenter les données très facilement et soigneusement.
Il permet également de mettre à jour les données.
Voici quelques attributs principaux du DataGrid :
- Les attributs "traditionnels" d'un tableau : width, backcolor, cellSpacing,
Font, …., mais aussi alternance des couleurs des lignes
(alternatingitemstyle-backcolor…)
- EditCommandColumn : colonne dans laquelle est insérée trois boutons :
edit, update, cancel. Ces trois commandes nécessitent l'appel de fonctions (à programmer). Globalement, le bouton Edit permet de pouvoir modifier les données contenues dans la ligne sélectionnée. Le bouton Update permet de valider les modifications et Cancel permet d'annuler la modification.
L'utilisation de ces fonctionnalités optimise la mise à jour des données.
- AllowPaging : permet la gestion de l'affichage des données sur plusieurs pages.
Le nombre de lignes de données est à paramétrer (pagesize),
ainsi que le style des boutons de navigation (Pager-Style mode).
Il est très coûteux de charger des bases de données volumineuses pour chaque page.
Il vaut mieux récupérer les données dans de gros morceaux de page,
plutôt que de toutes les stocker et les consulter page par page ensuite.
Le DataGrid supporte des tailles importantes de données,
grâce aux propriétés AllowCustompaging et VirtualItemCount.
- AllowSorting : permet de trier la table par type de colonne.
- Les colonnes sont facilement personnalisables grâce aux attributs BoundColumn et TemplateColumn.
Haut de page