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

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

该存储过程语法检查通过
...全文
116 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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")

28,409

社区成员

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

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