存储过程调用和取值的问题大家帮帮忙吧~~~急

huakang 2006-01-24 01:59:00
存储过程如下~

CREATE procedure mypage @page1 int,@pgnum int,@pgcount int out,@tbname varchar(45)
as

begin

select @pgcount=count(id) from b_yktzh
set @pgcount=@pgcount/@page1
if @pgcount<1
select top 50 * from b_yktzh
else
begin
set @pgcount= @pgcount
declare @myp varchar(200)
set @myp='select top '+cast(@page1 as varchar)+' * from '+@tbname+' where (id not in (SELECT top '+cast(@page1*(@pgnum-1) as varchar)+' id FROM '+@tbname+' order by id)) order by id'
print @myp
execute(@myp)
end

end
GO


过程调用:(不知道是否正确,但测试通过)

set rs=server.createobject("adodb.recordset")
sql="exec mypage '50','3','0','b_yktzh'"
rs.open sql,conn,1,1

这个调用是否正确


请问@pgcount int out的@pgcount值如何获取,

执行了上面的语句,用do while not rs.eof找不到获得的值~~

请问如何才能得到存储过程的运的值???????????????


在sql查询分析器中用:exec mypage '50','2','0','b_yktzh'能查出相应的结.
...全文
111 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
是是非非 2006-01-24
  • 打赏
  • 举报
回复
'----------------------------------------------------------------------------
' 函数原型: OpenConn(ByRef dbConn)
' 功能说明: 根据指定的数据库路径打开一个连接
' 参数类型: dbConn 待打开的数据库连接对象,已经定义的变量
' 返 回 值: 无
' 创建日期: 2004年5月20日
' 最后修改: 2004年5月20日
'----------------------------------------------------------------------------
Function OpenConn(ByRef dbConn)
If TypeName(dbConn)="Connection" Then
If dbConn.State<>adStateClosed Then dbConn.Close
dbConn.Open MM_Conn_String
Exit Function
End If
If TypeName(dbConn)="Empty" Then
Set dbConn=Server.CreateObject("ADODB.Connection")
dbConn.Open MM_Conn_String
Else
Err.Raise vbObjectError+1,"OpenConn(dbConn,strDbPath)","dbConn参数必须是空或者已经存在Connection对象的实例 [" & TypeName(dbConn) & "]"
End If
End Function
'----------------------------------------------------------------------------
' 函数原型: CloseConn(ByRef dbConn)
' 功能说明: 关闭指定的连接,并且释放资源
' 参数类型: dbConn 待关闭的数据库连接对象,已经定义的变量
' 返 回 值: 无
' 创建日期: 2004年5月20日
' 最后修改: 2004年5月20日
'----------------------------------------------------------------------------
Public Function CloseConn(ByRef dbConn)
If TypeName(dbConn)<>"Connection" Then
Err.Raise vbObjectError+2,"CloseConn(dbConn)","dbConn参数必须是Connection对象的实例 [" & TypeName(dbConn) & "]"
End If
If dbConn.State<>adStateClosed Then dbConn.Close
Set dbConn=Nothing
End Function
'----------------------------------------------------------------------------
' 函数原型: OpenCmd(ByRef cmdTemp,ByRef cnnTemp)
' 功能说明: 打开一个Command对象
' 参数类型: cmdTemp 待代开的Command对象
' cnnTemp 指定的连接对象
' 返 回 值: 无
' 创建日期: 2004年5月20日
' 最后修改: 2004年5月20日
'----------------------------------------------------------------------------
Public Function OpenCmd(ByRef cmdTemp,ByRef cnnTemp)
If TypeName(cnnTemp)<>"Connection" Then
Err.Raise vbObjectError+7,"OpenCmd()","打开Command对象时未指定正确的Connection对象 [" & TypeName(cnnTemp) & "]"
Exit Function
End If
If cnnTemp.State=adStateClosed Then
Err.Raise vbObjectError+8,"OpenCmd()","打开Command对象时指定的Connection对象未正确打开"
Exit Function
End If
If TypeName(cmdTemp)="Command" Then
Set cmdTemp.ActiveConnection=cnnTemp
cmdTemp.CommandType=adCmdStoredProc
Exit Function
End If
If TypeName(cmdTemp)="Empty" Then
Set cmdTemp=Server.CreateObject("ADODB.Command")
Set cmdTemp.ActiveConnection=cnnTemp
cmdTemp.CommandType=adCmdStoredProc
Else
Err.Raise vbObjectError+9,"OpenCmd(cmdTemp,cnnTemp)","OpenCmd函数的cmdTemp参数必须是空或者已经定义的RecordSet对象 [" & TypeName(rstTemp) & "]"
End If
End Function
'----------------------------------------------------------------------------
' 函数原型: CloseCmd(ByRef cmdTemp)
' 功能说明: 关闭指定的Command对象并且释放资源
' 参数类型: cmdTemp 待关闭的Command对象,已经定义的变量
' 返 回 值: 无
' 创建日期: 2004年5月20日
' 最后修改: 2004年5月20日
'----------------------------------------------------------------------------
Public Function CloseCmd(ByRef cmdTemp)
If TypeName(cmdTemp)<>"Command" Then
Err.Raise vbObjectError+10,"CloseCmd(cmdTemp)","cmdTemp参数必须是已定义的Command对象 [" & TypeName(dbConn) & "]"
Else
Set cmdTemp=Nothing
End If
End Function
是是非非 2006-01-24
  • 打赏
  • 举报
回复
Dim cnn,cmd
OpenConn cnn
OpenCmd cmd,cnn
cmd.CommandText="IM_Web_RobotReply"
cmd.Parameters.Refresh
If Err.Number<>0 Then
DebugConsole.Append "预处理错误",Array("短信编号:" & MessageID, _
"回复内容:" & Content, _
"错误编号:" & Err.Number, _
"错误描述:" & Err.Description)
Err.Clear
CloseCmd cmd
CloseConn cnn
Set DebugConsole=Nothing
Response.End
End If
On Error Resume Next
cmd.Parameters("@MessageID").Value=MessageID
cmd.Parameters("@Content").Value=Content
If Err.Number<>0 Then
DebugConsole.Append "预处理错误",Array("短信编号:" & MessageID, _
"回复内容:" & Content, _
"错误编号:" & Err.Number, _
"错误描述:" & Err.Description)
Err.Clear
CloseCmd cmd
CloseConn cnn
Set DebugConsole=Nothing
Response.End
End If
On Error Goto 0
CloseCmd cmd
CloseConn cnn
huakang 2006-01-24
  • 打赏
  • 举报
回复
能不能给过例子~~
  • 打赏
  • 举报
回复
你用command的方法取值
hj3793 2006-01-24
  • 打赏
  • 举报
回复
既然有输出就要设置存储过程参数的属性吧
网上搜索asp调用存储过程应该找得到,我只熟悉.net的

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧