【发布时间】:2011-08-10 04:32:48
【问题描述】:
我有一个存储过程:
CREATE PROCEDURE [TestProc]
AS
BEGIN
select '1a', '1b'
select '2a', '2b', '2c'
select '3a', '3b'
END
如果我使用 SQL Management Studio 执行以下查询,
exec TestProc
我得到 3 个结果集:
1. | 1a | 1b |
2. | 2a | 2b | 2c |
3. | 3a | 3b |
但是当我在 ASP.NET(VB.NET) 中使用存储过程时,
Dim Connection As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnToHilmarc").ToString)
Dim Command As New SqlCommand("exec TestProc @First, @Second", Connection)
Dim Reader As SqlDataReader
Command.Parameters.AddWithValue("@First", "Hello")
Command.Parameters.AddWithValue("@Second", "World")
Connection.Open()
Reader = Command.ExecuteReader
While Reader.Read
Response.Write(Reader(0) & " " & Reader(1) & "<br/>")
End While
Reader.Close()
Connection.Close()
我只得到第一个结果集:
| 1a | 1b |
如何使用SqlDataReader 获得三个结果集?甚至是三个SqlDataReader?或者是否可以在 VB.NET 中的一个查询中获得多个结果集? DataSet 是我唯一的选择吗?提前致谢。
【问题讨论】:
标签: sql vb.net datareader