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(*) 啊!