简体   繁体   English

SqlDataReader读取整个查询

[英]SqlDataReader read whole query

I have a SQL script with a loop. 我有一个带循环的SQL脚本。 In each iteration I change the where clause. 在每次迭代中,我都会更改where子句。 So I get several selects displayed. 所以我得到几个选择显示。 But my .net program reads only the first select. 但是我的.net程序只读取第一个选择。 The SQL script works in ssms. SQL脚本在ssms中工作。

This is my SQL script 这是我的SQL脚本

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

This is my vb.net code 这是我的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

That's because subsequent selects are actually in a different result set. 那是因为随后的选择实际上处于不同的结果集中。 Your reader needs to do a .NextResult after each read. 您的阅读器在每次阅读后都需要执行.NextResult。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM