读多个记录(Reading multiple recordsets)

2019-10-19 22:54发布

我有一个存储过程返回6分select语句的结果。 我试图用一个记录集来执行SP和获取记录每个SELECT语句,但我得到0或空记录,当我读到这些,

我怎样才能查询记录集从存储过程中多个SELECT语句?

例如:

Set rs = Server.CreateObject("ADODB.Recordset")     
strSql = "Exec [dbo].[xyz] '"&param1&"', '"&param2&"', '"&param3& "'"   
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

Answer 1:

rs.NextRecordset()是得到从存储过程或其他命令返回的下一个记录的正确方法,让你的代码剪断应该工作。

什么是不为你工作?

顺便说一句,希望strSql变量未构造您发布的方式( strSql = "Exec [dbo].[xyz] '"&param1&"', '"&param2&"', '"&param3& "'"因为这一个明显的SQL注入漏洞。



文章来源: Reading multiple recordsets