Cách thông thường là tải tất cả cùng một lúc.
chỉ cần xây dựng SELECT
của bạn của và bạn sẽ có DataSet
chứa đầy tất cả các bảng.
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();
}
}
ví dụ:nếu bạn trả về 2 bảng trong SP của mình, như:
SELECT * FROM [TableA];
SELECT * FROM [TableB];
bạn sẽ truy cập các bảng này với tư cách:
DataTable tableA = ds.Tables[0];
DataTable tableB = ds.Tables[1];