.NET – Dataset typé vs Dataset non typé
La majorité d’entre nous utilise les Datasets afin de contenir vos données. La plupart du temps nous utilisons des Datasets non-typés. Mais il existe aussi un autre type de Dataset ; Dataset typé. Voyons donc aujourd’hui qu’elles sont les différences entre les Datasets typés et non typés.
Dataset non typé
Les Datasets non typés son difficile à maintenir, car les développeurs doivent connaître en profondeur les détails de la base de données. Ce scénario n’est pas pratique dans le cas ou les programmeurs n’ont pas la moindre idée de la couche de données sous-jacente. Un autre désavantage de l’utilisation de Dataset non typé est que la lisibilité du code. Considérer le code suivant qui retourne simplement la valeur de la première colonne de la première ligne d’une table X.
C#
// Dataset non typé DataSet nonTypeDataSet = new DataSet(); ad.Fill(nonTypeDataSet,"Articles"); string articleId = nonTypeDataSet.Tables["Articles"].Rows[0][0].ToString();
Nous avons simplement, créé un objet Dataset puis rempli ce dernier en utilisant un SqlDataAdapter. Une fois chargés, nous avons récupéré la valeur de la première colonne de la première ligne. Si vous regardez attentivement, vous ne pouvez comprendre simplement ce que le Dataset vous retourne. Maintenant, si vous utilisez un Dataset et vous désirez parcourir toutes les lignes, vous devrez utiliser un code comme suit :
C#
foreach(DataTable dt in nonTypeDataSet.Tables)
{
foreach(DataRow dr in dt.Rows)
{
foreach(DataColumn dc in dt.Columns)
{
myList.Items.Add(dr[dc].ToString());
}
}
}
Encore une fois, on remarque tout de suite que le code est difficile à comprendre au premier coup d’oeil. Ce genre de problème est corrigé avec l’utilisation de Dataset typé en plus des autres avantages.
Dataset typé
Pour utiliser les Datasets typés, il vous suffit d’effectuer un clique droite sur votre solution dans Visual Studio et d’ajouter un dataset. Vous pouvez aussi glisser et déposer une table à partir de l’explorateur de serveur. Une fois que vous avez créé un Dataset typé, vous pouvez simplement créer un objet Dataset à partir de ce dernier et vous serez prêt à vous en servir.
C#
typeDataset ds = new typeDataset();
Une fois que votre objet Dataset a été créé, il ne reste plus qu’à le remplir à l’aide d’un SqlDataAdapter.
C#
ad.Fill(ds,"Articles");
Voyons maintenant comment il est simple de se référer à une colonne d’une ligne …
C#
ds.Articles[0].ArticleID; ds.Articles[0].Author; ds.Articles[0].DateCreated;
Le code ci-dessus, est de loin plus facile à lire et à comprendre. Voyons maintenant comment parcourir notre Dataset.
C#
foreach(SqlDataAdapter.ArticlesRow articleRow in ds.Articles)
{
myList.Items.Add(articleRow.Title);
}
On diminue de 50%, le code utilisez pour parcourir notre Dataset. Les Datasets typés sont de plus rapides que les non typés. Les colonnes représentent les propriétés du Dataset. De plus, le risque d’erreur est beaucoup moins grand. Avec un Dataset typé, une erreur de compilation sera générée comparativement à une erreur d’exécution dans le cas d’une valeur non valide dans le Dataset. De plus, lorsque vous utilisez des Datasets typés, vous aurez quelques méthodes supplémentaires utiles telles que ;
C#
ds.Articles[0].IsAuthorNull();
Tags: .net, c#, c-sharp, csharp, dataset, dataset non typé, dataset typé, typed dataset, vb, vb.net

