SqlDataReader读取整个查询

时间:2016-03-22 14:52:12

标签: sql sql-server vb.net sqldatareader

我有一个带循环的SQL脚本。在每次迭代中,我都会更改where子句。所以我得到了几个选择。但我的.net程序只读取第一个选择。 SQL脚本适用于ssms。

这是我的SQL脚本

while (@aktuellParam <= @countParam)
Begin
  SELECT name1,
         name2
  FROM dbo.tableName
  WHERE name like @var
  SET @aktuellParam = aktuellParam+1
END

这是我的vb.net代码

Using reader As SqlClient.SqlDataReader = _server.ConnectionContext.ExecuteReader(script)
    Dim lfdnr As Integer = 1

    Do While reader.Read()
        spaltenListe.Add(New ISpalten With
                                 {
                                     .Name1= reader.GetString(reader.GetOrdinal("name1")),
                                     .Name2= reader.GetString(reader.GetOrdinal("name2"))
                                 })
        lfdnr = lfdnr + 1
    Loop
    reader.Close()
End Using

1 个答案:

答案 0 :(得分:3)

那是因为后续选择实际上是在不同的结果集中。每次阅读后,您的读者都需要做一个.NextResult。