如果我们确切地知道要返回哪些表,那么将数据从存储过程加载到DataSet中很简单:
Dim data As New DataSet
data.Load(reader, LoadOption.OverwriteChanges, "Apples", "Oranges", "Pears")
但是,如果我们不关心返回给我们的表,甚至返回多少表,是否可以简单地将它们全部加载到DataSet中?
我假设不使用.Load(),因为您需要提供表参数。
答案 0 :(得分:2)
可以使用sqlDataAdapter。
Dim da as new SqlDataAdapter
Dim ds as new Dataset
da.selectCommand=com 'stored procedure
SqlCommandBuilder.DeriveParameters(com)
If Not ParameterValues Is Nothing Then
For i As Integer = 1 To ParameterValues.Length
sqlcmd.Parameters(i).Value = ParameterValues(i - 1)
Next
End If
da.Fill(ds)
它将加载SP将返回的所有表