我有一个Stored proc,它返回6个select语句结果。 我正在尝试使用一个记录集来执行sp并获取每个select语句的记录 但是当我读到它时,我得到0或空记录,
我如何查询记录集 来自的多个select语句 存储过程?
例如:
Set rs = Server.CreateObject("ADODB.Recordset")
strSql = "Exec [dbo].[xyz] '"¶m1&"', '"¶m2&"', '"¶m3& "'"
rs.open strSql,CN,3,3
Do While Not rs.EOF
if rs.recordcount > 0 then
r1 = rs.GetString(, , ", ", "<BR>" )
else
r1 = 0
end if
rs.MoveNext
Loop
Set rs = rs.NextRecordset()
Do While Not rs.EOF
if rs.recordcount > 0 then
r2 = rs.GetString(, , ", ", "<BR>" )
else
r2 = 0
end if
rs.MoveNext
Loop
答案 0 :(得分:3)
rs.NextRecordset()
是获取从存储过程或其他命令返回的下一个记录集的正确方法,因此您的代码剪切应该可以正常工作。
什么不适合你?
顺便说一句,我希望strSql
变量的构建方式与{(1}})不同,因为这是一个明确的SQL Injection漏洞。