Remplir un DataSet avec plusieurs tables à l'aide de DataReader
Dans cet article, nous aborderons le défi de remplir un DataSet composé de plusieurs tables à l'aide d'un DataReader, en maintenant la relation un-à-plusieurs entre eux.
L'exemple de code fourni démontre l'utilisation d'un DataReader pour remplir un DataSet avec une table. Pour étendre cette fonctionnalité à plusieurs tables, nous proposons une approche en deux volets :
Option 1 : Requêtes multiples
Envoyer des requêtes distinctes pour récupérer les données de chaque table, mapper les noms de table générés à ceux souhaités dans le DataSet.
Option 2 : requête unique avec plusieurs SELECT Déclarations
Créez une seule requête contenant plusieurs instructions SELECT, permettant au serveur de base de données de traiter toutes les requêtes en une seule fois. Cependant, gardez à l'esprit que les tables résultantes se verront attribuer des noms par défaut (par exemple, Table, Table1), qui peuvent être explicitement mappés aux noms prévus à l'aide de la propriété TableMappings de la classe SqlDataAdapter.
Voici un exemple illustrant la deuxième approche :
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 utilisant l'une ou l'autre de ces techniques, vous pouvez remplir efficacement un DataSet avec plusieurs tables à l'aide d'un DataReader tout en en préservant leurs relations inter-tables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!