Stored procedures 我们能否在存储过程中返回多个结果集,以及如何在.net中处理它
我们能否在存储过程中返回多个结果集,以及如何在.net中处理它 ??? 如果是,如何?? 如果没有,为什么不?? 请解释一下,有一些很好的例子 您需要更改Stored procedures 我们能否在存储过程中返回多个结果集,以及如何在.net中处理它,stored-procedures,Stored Procedures,我们能否在存储过程中返回多个结果集,以及如何在.net中处理它 ??? 如果是,如何?? 如果没有,为什么不?? 请解释一下,有一些很好的例子 您需要更改连接字符串以支持它MultipleActiveResultSets=True 用于配置设置 有一些很好的例子 您需要更改连接字符串以支持它MultipleActiveResultSets=True 用于配置设置 如果使用DataReader检索数据,则可以使用NextResult方法迭代存储过程返回的多个结果集。可以找到更多信息 以下代码是MS
连接字符串
以支持它MultipleActiveResultSets=True
用于配置设置 有一些很好的例子
您需要更改连接字符串
以支持它MultipleActiveResultSets=True
用于配置设置 如果使用DataReader检索数据,则可以使用NextResult方法迭代存储过程返回的多个结果集。可以找到更多信息 以下代码是MSDN中的一个简单示例:
static void RetrieveMultipleResults(SqlConnection connection)
{
using (connection)
{
SqlCommand command = new SqlCommand(
"SELECT CategoryID, CategoryName FROM dbo.Categories;" +
"SELECT EmployeeID, LastName FROM dbo.Employees",
connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.HasRows)
{
Console.WriteLine("\t{0}\t{1}", reader.GetName(0),
reader.GetName(1));
while (reader.Read())
{
Console.WriteLine("\t{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
reader.NextResult();
}
}
}
如果要从DataAdapter填充数据集,请注意,如果DataAdapter遇到多个结果集,它将创建多个数据表(每个结果集一个),并将它们添加到结果数据集中。如果要使用DataReader检索数据,您可以使用NextResult方法迭代存储过程返回的多个结果集。可以找到更多信息 以下代码是MSDN中的一个简单示例:
static void RetrieveMultipleResults(SqlConnection connection)
{
using (connection)
{
SqlCommand command = new SqlCommand(
"SELECT CategoryID, CategoryName FROM dbo.Categories;" +
"SELECT EmployeeID, LastName FROM dbo.Employees",
connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.HasRows)
{
Console.WriteLine("\t{0}\t{1}", reader.GetName(0),
reader.GetName(1));
while (reader.Read())
{
Console.WriteLine("\t{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
reader.NextResult();
}
}
}
如果您是从DataAdapter填充数据集,请注意,如果DataAdapter遇到多个resultset,它将创建多个DataTables(每个resultset一个)并将它们添加到结果数据集中。我猜谷歌搜索和自我探索这项技术会节省更多时间,让你有更多的了解:-)我猜谷歌搜索和自我探索这项技术会节省更多时间,让你有更多的了解:-)你不需要启用火星。net已经能够处理多个结果集,永远不需要启用MARS。net已经能够永远处理多个结果集