我有一个返回多个记录集的存储过程。它可以是 1 个记录集、2 个记录集或更多。我不知道有多少RS会回来。
在stackoverflow,我找到了以下示例
Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("myConnection").ConnectionString)
Dim cmd As New SqlCommand
Dim Reader As SqlDataReader
cmd.Connection = conn
cmd.Parameters.AddWithValue("@ACTNbr", tbACTNbr.Text.ToString.Trim)
cmd.Parameters.AddWithValue("@WTHNbr", tbWTHNbr.Text.ToString.Trim)
cmd.CommandText = "sp_search_def"
cmd.CommandType = CommandType.StoredProcedure
conn.Open()
Reader = cmd.ExecuteReader()
'The next part is what I found here at stackoverflow
While Reader.Read() OrElse (Reader.NextResult() And Reader.Read())
For i As Integer = 0 To Reader.FieldCount - 1
Response.Write(Reader(i).ToString())
Response.Write(" ")
Next
Response.Write("<br />")
End While
以上response.write
显示了我完美需要的数据。但我需要将其放入 Gridview 中。即我需要将存储过程的结果(及其所有结果集)放入一个gridview 中。
我的网格视图设置为AutoGenerateColumns = "true"
.
我试过了:
myGridview.DataSource = Reader
myGridview.DataBind()
当然,我只得到其中一个记录集。
存储过程的结果都具有相同的格式 - 相同数量的列、标题等。
有人可以指出我正确的方向吗?我一直在试图解决这个问题,但放弃了,现在我在这里问。
我是新来的。
谢谢你。