我该如何调用这个 存储过程

e_zzz 2004-09-03 10:25:38
存储过程如下:
-------------------------------
CREATE Proc [dbo].[WebOrderRelation_New]
@Phone varchar(21),--用户手机号
@Pwd varchar(6) --六位密码
Output
as

Begin Transaction

Declare @tPwd varchar(6)
Declare @tID bigint
Declare @SvcID varchar(8)
Declare @ActionID int
Declare @IsActive int
set @SvcID='XTBZ'
set @ActionID=1

If Exists(Select UserMobile From FXSystem..FJLTS Where UserMobile=@Phone)
begin
--判断密码是否正确
Select @tPwd=pwd From FXSystem..FJLTS Where UserMobile=@Phone

If(@Pwd=@tPwd)--密码正确
begin
----
Select @tID=uID from Queue_SMS_Base.dbo.UnifiedRegister where pID=@Phone

--未注册用户
if @tID is null
begin
Insert into Queue_SMS_Base.dbo.UnifiedRegister(pID) values(@Phone)
Select @tID=uID from Queue_SMS_Base.dbo.UnifiedRegister where pID=@Phone
end

--注册用户
Select @IsActive=IsActive from fxsystem.dbo.User_Fee where uID=@tID and SvcID=@SvcID

--未开通服务用户
if @IsActive is null
Insert into fxsystem.dbo.User_Fee(uID,SvcID, IsActive) values(@tID,@SvcID, @ActionID)
else
if(@IsActive=2) --停止服务用户
Update fxsystem.dbo.User_Fee set IsActive=@ActionID,RegTime=Getdate() where uID=@tID and SvcID=@SvcID

insert fxsystem.dbo.CustomMsg(uID, SvcID, IsActive)values(@tID, @SvcID, @ActionID)

---
Commit Transaction
Return 0
end
If(Len(@tPwd)>6)--密码长度超过六位
begin
Commit Transaction
Return 1
end
If(Len(@tPwd)<6)--密码长度小于六位
begin
Commit Transaction
Return 2
end
If(@tPwd is null or @tPwd='')--密码不能为空
begin
Commit Transaction
Return 3
end

IF(@@ERROR<>0)
begin
ROLLBACK TRAN
Return 0
end
end

Else ---不存在密码注册信息
begin
Commit Transaction
Return 4
end


GO



------------------
我用asp调用如下
------------------
<%
'数据库连接略

set RS1=server.CreateObject("adodb.command")
set RS1.ActiveConnection=db
RS1.CommandText="WebOrderRelation_New"
RS1.Parameters.Append RS1.CreateParameter("@return_value",adSingle,adParamReturnValue)
RS1.Parameters.Append RS1.CreateParameter("@Phone",adVarChar,adParamInput)
RS1("@Phone")=xmobile
RS1.Parameters.Append cmRS1d.CreateParameter("@pwd",adVarChar,adParamInputOutput)
RS1("@pwd")=xpwd
RS1.Execute()
my_out_nr=RS1("@ReturnValue")
%>

提示错误
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
35行错误 RS1.Parameters.Append RS1.CreateParameter("@return_value",adSingle,adParamReturnValue)
我把adSingle 改成 adIntger 也出同样的错误
除了这个以外好像其他地方也有错误。
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_zzz 2004-09-03
  • 打赏
  • 举报
回复
UP
e_zzz 2004-09-03
  • 打赏
  • 举报
回复
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
37行 RS1.Parameters.Append RS1.CreateParameter("@Phone",adVarChar,adParamInput,21)

还是有问题哦

救命~
themedy 2004-09-03
  • 打赏
  • 举报
回复
try:

RS1.Parameters.Append RS1.CreateParameter("@Phone",adVarChar,adParamInput,21)
RS1.Parameters.Append cmRS1d.CreateParameter("@pwd",adVarChar,adParamInputOutput,6)

e_zzz 2004-09-03
  • 打赏
  • 举报
回复
UP~

28,391

社区成员

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

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