我有一个返回多个表的存储过程.如何执行和读取这两个表?
我有这样的事情:
SqlConnection conn = new SqlConnection(CONNECTION_STRING);SqlCommand cmd = new SqlCommand("sp_mult_tables",conn);cmd.CommandType = CommandType.StoredProcedure);IDataReader rdr = cmd.ExecuteReader();我不确定如何阅读它...处理此类查询的最佳方法是什么,我猜我应该将数据读入 DataSet?最好的方法是什么?
谢谢.
解决方案改编自MSDN:
使用 (SqlConnection conn = new SqlConnection(connection)){SqlDataAdapter 适配器 = new SqlDataAdapter();adapter.SelectCommand = new SqlCommand(query, conn);适配器.填充(数据集);返回数据集;}
I have a stored procedure that returns multiple tables. How can I execute and read both tables?
I have something like this:
SqlConnection conn = new SqlConnection(CONNECTION_STRING);
SqlCommand cmd = new SqlCommand("sp_mult_tables",conn);
cmd.CommandType = CommandType.StoredProcedure);
IDataReader rdr = cmd.ExecuteReader();
I'm not sure how to read it...whats the best way to handle this type of query, I am guessing I should read the data into a DataSet? How is the best way to do this?
Thanks.
解决方案Adapted from MSDN:
using (SqlConnection conn = new SqlConnection(connection))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(query, conn);
adapter.Fill(dataset);
return dataset;
}