这个存储过程怎么出错呀?帮帮我?

奋斗男人 2005-12-15 04:02:12
<%
openDB()

Set Rs=Server.CreateObject("adodb.recordset")
Set cmd = Server.CreateObject("adodb.command")
cmd.activeconnection=Conn

cmd.CommandType=adCmdStoredProc
cmd.commandtext="sp_student_Showinfo"
cmd.Parameters.Append(cmd.CreateParameter("@age",adInteger,adParamInput,22))
cmd.Parameters.Append(cmd.CreateParameter("@name",advarchar,adParamoutput,10))


Rs=cmd.execute()
do while not Rs.eof
Response.Write(Rs("Name"))
Response.Write("<br>")
Rs.movenext
loop
set cmd.activeconnection=Nothing
set cmd=nothing
closeDB()
%>

存储过程:
create proc sp_student_Showinfo
@name char(10)output,
@age int
as
select @name=Name from student where Age=@age
go
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
abillchen 2005-12-16
  • 打赏
  • 举报
回复
思路上就是错的,某年龄的学生明显应该是一个记录集.所以存储过程返回的应该是记录集.
create proc sp_student_Showinfo
@age int
as
select Name from student where Age=@age

调用:
dim sql,ages,Rs
ages=10
sql="exec sp_student_Showinfo "&ages
set Rs=server.createobject("ADODB.recordset")
Rs.open sql,conn,1,1
奋斗男人 2005-12-15
  • 打赏
  • 举报
回复
这总是在这行出错:
cmd.Parameters.Append(cmd.CreateParameter("@age",adInteger,adParamInput,22))
xx123731 2005-12-15
  • 打赏
  • 举报
回复
select name from student where Age=@age
奋斗男人 2005-12-15
  • 打赏
  • 举报
回复
出错如下:
技术信息(用于支持人员)

错误类型:
ADODB.Command (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/11169/test/show.asp, 第 16 行

28,406

社区成员

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

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