标题:在ASP中如何调用该存储过程,并获取@iReturn 返回值?
只看楼主
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
结帖率:50%
 问题点数:0 回复次数:3 
在ASP中如何调用该存储过程,并获取@iReturn 返回值?
-------------------------------------------------
---功能描述:验证用户登陆
---0,用户不存在
---1,密码错误
---2,成功
------------------------------------------------

CREATE  PROCEDURE UserLogin
@UserID nvarchar(50),
@UserPassword nvarchar(50)

as
    declare @iReturn int

    select * from WareUser where userid=@userid

  if(@@rowcount <1)

      begin-----------0
  set @iReturn=0
      end-------------0
  else
begin------------1
          select * from WareUser where userid=@userID and userpassword=@userpassword

          if(@@rowcount <1)
              begin-----------2
          set @iReturn=1
              end-------------2
          else

      begin-----------3
          set @iReturn=2
      end-------------3
end------------1
return @iReturn
GO
搜索更多相关主题的帖子: 存储过程 ASP 返回值 
2008-11-10 17:53
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
2008-11-10 18:00
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
得分:0 
CREATE  PROCEDURE UserLogin
意思是创建一个存储过程,名字是 UserLogin

asp中调用这个名字
Set cmd = Server.CreateObject(")
with cmd
    .ActiveConnection = conn         '数据库连接字串
    .CommandText = "UserLogin"         '指定存储过程名
    .CommandType = 4          '表明这是一个存储过程
    .Prepared = true          '要求将SQL命令先行编译
    .Parameters.append .CreateParameter("@tableName",200,1,20,"表名")    '表名称
         ……
         ……
    .Execute
    records = cmd(7)
    pages = cmd(8)
    Set rs = .Execute
end with

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-11-10 18:04
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
得分:0 
提示出错“ 过程 'UserLogin' 需要参数 '@iReturn',但未提供该参数。 ”
我把存储过程稍作修改,再调用,提示出错“  过程 'UserLogin' 需要参数 '@iReturn',但未提供该参数。  ”

CREATE  PROCEDURE UserLogin
@Tablename nvarchar(50),
@Username nvarchar(50),
@UserPassword nvarchar(50),
@iReturn int output

as
    select * from [@Tablename] where username=@Username

  if(@@rowcount <1)

      begin
  set @iReturn=0
      end
  else
begin
          select * from [@Tablename] where username=@username  and [password]=@UserPassword

          if(@@rowcount <1)
              begin
          set @iReturn=1
              end
          else

      begin
          set @iReturn=2
      end
end
GO
'====================================调用如下====================================================

<% dim action,username,password,Tablename,MyComm
action=Trim(Request.QueryString("action"))
if action="login" then

username=Trim(Request.Form("username"))
password=Trim(Request.Form("password"))
Tablename="Userlist"

Set MyComm = Server.CreateObject(")
with MyComm
    .ActiveConnection = conn

    .CommandText      = "UserLogin"
    .CommandType      = 4
    .Prepared        = true

    .Parameters.Append .CreateParameter("@Tablename",200,1,50,Tablename)
    .Parameters.Append .CreateParameter("@Username",200,1,50,username)
    .Parameters.Append .CreateParameter("@UserPassword ",200,1,50,password)
.Parameters.append .CreateParameter("@iReturn",3,1,4)
    .Execute
end with

loginvalue= MyComm(3)

'-------------------------------------------------
'---功能描述:验证用户登陆
'---0,用户不存在
'---1,密码错误
'---2,成功
'------------------------------------------------
select case  loginvalue
case 0
response.write" 用户不存在"
case 1
response.write" 密码错误"
case 2
response.write" 登陆成功"
end select
end if
%>

生活的理想,就是为了理想的生活。
2008-11-11 09:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-243425-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.316097 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved