当前位置: 代码迷 >> Sql Server >> asp的command对象调用存储过程返回到的记录集数量为何是-1?
  详细解决方案

asp的command对象调用存储过程返回到的记录集数量为何是-1?

热度:64   发布时间:2016-04-24 09:16:15.0
asp的command对象调用存储过程返回来的记录集数量为何是-1??
本帖最后由 yaxiya 于 2015-04-01 15:30:15 编辑
asp中的Command对象来调用存储过程,结果返回的记录集的数为-1(second_t  表实际有多个记录),这是怎么回事?
asp代码如下:

<%
    Set MyComm = Server.CreateObject("ADODB.Command")
                dCmdSPStoredProc = 4              
                adParamReturnValue = 4
                adParaminput = 1
                adParamOutput = 2
                adInteger = 3
                adVarChar = 200
                adVarWChar = 202
    with MyComm
       .ActiveConnection = Conn                        
       .CommandText      = "power_show_p"                  
       .CommandType      = 4                             
       .Prepared         = true   
       set rs=.Execute                     
    end with
     response.Write(rs.recordcount)
%>

存储过程如下:
[code=sql]
create procedure power_show_p 
as  
 SET   NOCOUNT   ON 
 begin 
         select * from second_t   
end

[/code]
------解决思路----------------------
用了服务端游标,只打开不取数的时候记录数就是-1,表示不确定。
A)ADODB.Connection 的 CursorLocation 要初始化为 adUseClient (值3)。
B)求记录数不会用 SELECT COUNT(*) 啊!
  相关解决方案