"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je remplir efficacement un ensemble de données avec plusieurs tables associées à l'aide de SqlDataReader ?

Comment puis-je remplir efficacement un ensemble de données avec plusieurs tables associées à l'aide de SqlDataReader ?

Publié le 2024-12-21
Parcourir:957

How Can I Efficiently Fill a DataSet with Multiple Related Tables Using SqlDataReader?

Remplir un DataSet avec plusieurs tables à l'aide de SqlDataReader

Lorsque vous travaillez avec un DataSet contenant plusieurs tables avec des relations, il est crucial de réfléchir à la manière de remplir efficacement le DataSet tout en conservant l'intégrité des données. Bien que l'utilisation d'un DataReader offre une approche légère, elle peut poser des problèmes lors du remplissage de plusieurs tables. Voici une solution améliorée qui exploite les capacités de DataReader tout en traitant de la relation un-à-plusieurs :

Exploiter les mappages de tables pour plusieurs requêtes de sélection

Pour remplir un DataSet avec plusieurs tables à l'aide de DataReader, on peut envoyer plusieurs instructions select au serveur de base de données en une seule requête. Cette approche optimisée permet au serveur de traiter les requêtes efficacement et élimine le besoin d'exécutions séparées. Cependant, par défaut, les tables générées à partir des requêtes auront des noms automatiques (Table, Table1, etc.).

Pour mapper ces noms de tables générés à des tables spécifiques du DataSet, vous pouvez utiliser la propriété TableMappings de le SQLDataAdapter. Cette propriété permet l'association des noms de tables utilisés dans la requête avec les tables correspondantes dans le DataSet. Voici un exemple :

SqlDataAdapter adapter = new SqlDataAdapter(
    "SELECT * FROM Customers; SELECT * FROM Orders", connection);
adapter.TableMappings.Add("Table", "Customer");
adapter.TableMappings.Add("Table1", "Order");

adapter.Fill(ds);

En mappant les noms de table générés sur « Client » et « Commande », les données des requêtes seront chargées dans les tables nommées correspondantes dans le DataSet. Cette approche garantit que les données appropriées circulent dans les tables appropriées tout en conservant les relations établies.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3