大家看看我这个调用的存储过程出了什么问题?

aspkiller 2004-05-04 10:25:38
SET cmd=server.createobject("adodb.command")
set cmd.activeconnection=conn
cmd.commandType=4
cmd.commandText="user_check"
set Tmpparam1=cmd.createparameter("user",adVarChar,adParamIntput,30)
cmd.parameters.append tmpparam1
Set tmpparam2=cmdTemp.CreateParameter("pass",adVarChar,adParamInput,30)
cmd.parameters.append tmpparam2
Set t3=cmdTemp.CreateParameter("isvalid",adVarChar,adParamoutput,10)
cmd.parameters.append tmpparam2
cmd("user")="admin"
cmd("pass")="111111"
'cmd.execute

response.write "The Result is:"&cmd("isvalid")


提示出错:

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

ADODB.Command 错误 '800a0bb9'

参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

/ly2/soft/test.asp,行27
也就是建立第一个参数的那一行。

附我写的user_check存储过程:
CREATE PROCEDURE user_check
@username varchar(30) ,@password varchar(30),@isvalid char(10) output
AS
if exists(select * from 管理员 where username=@username and password=@password)

select @isvalid="pass"
else
select @isvalid="invalid"
GO

该存储过程语法检查通过
...全文
71 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sfply 2004-05-08
存储过程学习,你自己看吧

1,调用没有参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{call nono}"

'set rs=cmc.exe 或者cmd.execute

set rs=cmd.Execute()

%>
2,一个输入的参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{call oneinput(?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger ,adParamInput )
cmd("@aaa")=100

cmd.Execute()

%>
3,一个输入参数和一个输出的参数
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText = "{call oneinout(?,?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)

cmd.Execute()

bbb=cmd("@bbb")
%>
4,一个输入参数,一个输出参数,和一个返回值
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{?=call onereturn(?,?)}"

cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnValue )
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput )
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)

cmd.Execute()

bbb=cmd("@bbb")
rrr=cmd("@return_value")
%>
  • 打赏
  • 举报
回复
l3300 2004-05-04
<!--#include file="adovbs.inc"-->
  • 打赏
  • 举报
回复
postfix2 2004-05-04

Set tmpparam2=cmdTemp.CreateParameter("pass",adVarChar,adParamInput,30)
这一句改在
set tmp2=cmd.createparameter("userpwd",200,1,50)
参数类型要正确
  • 打赏
  • 举报
回复
postfix2 2004-05-04
set cmd=server.createobject("adodb.command")
set cmd.activeconnection=conn
cmd.commandtype=4
cmd.commandtext="sp_userlogo"
set tmp1=cmd.createparameter("userid",200,1,50)
cmd.parameters.append tmp1
set tmp2=cmd.createparameter("userpwd",200,1,50)
cmd.parameters.append tmp2
set tmp3=cmd.createparameter("retvalue",200,2,80)
cmd.parameters.append tmp3
set tmp4=cmd.createparameter("retcount",200,2,80)
cmd.parameters.append tmp4
cmd("userid")=request("text1")
cmd("userpwd")=request("text1")
cmd.execute
tmp4=cmd("retcount")
tmp5=cmd("retvalue")
  • 打赏
  • 举报
回复
相关推荐
发帖
ASP
加入

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-05-04 10:25
社区公告
暂无公告