Je veux retourner deux tables en utilisant un mySqlDataReader et charger les résultats dans deux datatables.Comment retourner plusieurs tables en utilisant MySqlDataReader?
using (MySqlConnection connMySql = new MySqlConnection(global.g_connString))
{
MySqlCommand cmd = connMySql.CreateCommand();
cmd.CommandText = @"
SELECT * FROM table1;
SELECT * FROM table2;
";
connMySql.Open();
using (MySqlDataReader dr = cmd.ExecuteReader())
{
DataTable dt1 = new DataTable();
dt1.Load(dr);
dr.NextResult();
DataTable dt2 = new DataTable();
dt2.Load(dr);
gridView1.DataSource = dt1;
gridView1.DataBind();
gridView2.DataSource = dt2;
gridView2.DataBind();
}
Cependant, lorsque je l'exécute, un seul gridView est rempli. Puis-je utiliser NextResult de cette manière, ou existe-t-il un meilleur moyen d'y parvenir?
Merci à l'avance,
Ben
Pour MS-SQL vous avez besoin d'un drapeau (MultipleActiveResultSets) dans le connectionString. Quelque chose comme ça pour le fournisseur MySql? –
@Henk cette requête n'a pas besoin de MARS; les tables sont séquentielles. –