读多个记录 [英] Reading multiple recordsets
问题描述
我有一个存储过程返回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] '"¶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
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] '"¶m1&"', '"¶m2&"', '"¶m3& "'"
), as this is a clear SQL Injection vulnerability.
这篇关于读多个记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!