代码之家  ›  专栏  ›  技术社区  ›  rs.

读取多个记录集

  •  1
  • rs.  · 技术社区  · 16 年前

    我有一个存储过程,它返回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
    
    1 回复  |  直到 14 年前
        1
  •  3
  •   Oded    16 年前

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

    什么不适合你?

    作为旁白,我希望 strSql 变量的构造方式与您发布的方式不同( strSql = "Exec [dbo].[xyz] '"&param1&"', '"&param2&"', '"&param3& "'" ,因为这是一个明确的 SQL Injection 脆弱性。