1

我有一个存储过程,它返回 6 个选择语句结果。我正在尝试使用一个记录集来执行 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
4

1 回答 1

3

rs.NextRecordset()是获取从存储过程或其他命令返回的下一个记录集的正确方法,因此您的代码剪切应该可以工作。

什么不适合你?

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

于 2010-02-22T19:19:08.617 回答