读多个记录 [英] Reading multiple recordsets

查看:253
本文介绍了读多个记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个存储过程返回6 select语句的结果。
我试图用一个记录集为每个select语句执行SP和获取记录
但我得到0或空记录,当我读到它们,<​​/ P>

我如何查询记录集与
    从多个select语句
    存储过程?

例如:

 设置RS =的Server.CreateObject(ADODB.Recordset)
STRSQL =执行[DBO] [某某]与&amp;&参数1安培;','&放大器;参数2&安培;','&放大器;参数3&安培; '
rs.open STRSQL,CN,3,3-    这样做虽然不RS.EOF
        如果rs.recordcount&GT; 0,则
            R1 = rs.GetString(,,,&所述; BR&gt;中)
        其他
            R1 = 0
        万一
    rs.MoveNext
    循环    集RS = rs.NextRecordset()
        这样做虽然不RS.EOF
        如果rs.recordcount&GT; 0,则
            R2 = rs.GetString(,,,&所述; BR&gt;中)
        其他
            R2 = 0
        万一
    rs.MoveNext
    循环


解决方案

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

什么是不为你工作?

顺便说一句,我希望 STRSQL 变量没有构建您发布的方式( STRSQL =执行[DBO]。[某某] '&放大器;参数1&放大器;','&放大器;参数2&安培;','&放大器;参数3&安培;'),因为这是一个明确的 SQL注入漏洞

I have a Stored proc which returns 6 select statement results. I'm trying to use one record set to execute sp and get records for each select statement but i get 0 or empty records when i read them,

How can i query record set with multiple select statements from stored procedure?

ex:

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

解决方案

rs.NextRecordset() is the right way to get to the next recordset returned from a stored procedure or other command, so your code snipped should work.

What is not working for you?

As an aside, I hope the strSql variable is not constructed the way you posted (strSql = "Exec [dbo].[xyz] '"&param1&"', '"&param2&"', '"&param3& "'"), as this is a clear SQL Injection vulnerability.

这篇关于读多个记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆