Ответ 1
Обычный способ - получить все сразу.
просто создайте SELECT
, и у вас будет DataSet
, заполненный всеми таблицами.
using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(myConnString))
{
using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
{
cmd.CommandText = "myMultipleTablesSP";
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
conn.Close();
}
}
если, например, вы возвращаете 2 таблицы в своем SP, например:
SELECT * FROM [TableA];
SELECT * FROM [TableB];
вы получите доступ к этим таблицам следующим образом:
DataTable tableA = ds.Tables[0];
DataTable tableB = ds.Tables[1];