我有一个存储过程,它将从表中返回多个值。但是,我只能打印1个结果,有人可以告诉我我做错了什么
vb.net代码
reader = cmd_loadMacro.ExecuteReader()
reader.Read()
MacroKey = reader.GetString(0)
MacroValue = reader.GetString(1)
当我执行SSMS时,我的查询返回结果,我应该有5行,但只返回1行
最新尝试(这会带来0结果)
`reader.Read()
If reader.HasRows Then
While reader.Read()
MacroKey = reader.GetString(0)
MacroValue = reader.GetString(1)
End While
End If`
答案 0 :(得分:0)
删除循环周围的If reader.HasRows Then
位并再次尝试。
我在读者方面遇到了问题.HasRows过去会发出意想不到的结果。
答案 1 :(得分:0)
我在主类中使用for循环并将其传递给函数。这非常有效。
MacroKey = reader.GetString(0)
MacroValue = reader.GetString(1)
writer.WriteStartElement("djmacros") ' Root.
writer.WriteStartElement("macro")
writer.WriteAttributeString("name", MacroKey)
writer.WriteAttributeString("type", "1000")
writer.WriteAttributeString("value", MacroValue)
writer.WriteEndElement()
While reader.Read
MacroKey = reader.GetString(0)
MacroValue = reader.GetString(1)
writer.WriteStartElement("macro")
writer.WriteAttributeString("name", MacroKey)
writer.WriteAttributeString("type", "1000")
writer.WriteAttributeString("value", MacroValue)
writer.WriteEndElement()