我该如何调用这个 存储过程
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 也出同样的错误
除了这个以外好像其他地方也有错误。