我有一个带循环的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
答案 0 :(得分:3)
那是因为后续选择实际上是在不同的结果集中。每次阅读后,您的读者都需要做一个.NextResult。