ASP怎么取存储过程的返回值!

jdskyy 2004-04-27 06:06:53
请问怎么用ASP 取存储过程的返回值呢?

比如说存储过程在定义变量时用了OUTPUT 参数!

我怎么最出来呢??
...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyangxuan 2004-04-28
  • 打赏
  • 举报
回复
路过!
sinusoid 2004-04-28
  • 打赏
  • 举报
回复
若不返回参数用conn.execute("exec 存储过程名称")更快捷,不用那么麻烦。

点上面标题的管理,可以给分。。。 :)
jdskyy 2004-04-28
  • 打赏
  • 举报
回复
用cmd.execute

rtnVal=cmd("@ReturnVal")
rtnval的值是可以取出来的。


但是我还要返回记录集!
set rs=cmd.execute
rtnVal=cmd("@ReturnVal")
再取值就取不出来了!
请问是什么回事啊!?
webrobot 2004-04-27
  • 打赏
  • 举报
回复
楼上说话好玩,晕。倒
jdskyy 2004-04-27
  • 打赏
  • 举报
回复
老大你真好啊!莫说20分,200分我也肯啊!
怎么给你分啊!我不知道怎么给.
sinusoid 2004-04-27
  • 打赏
  • 举报
回复
在上面的增加参数的语句p.Append cm.CreateParameter("@mycolc",201,1,250)中,格式为:
p.Append cm.CreateParameter("参数名称",类型,方向,大小)

参许参数值的类型的意义如下:
名称值 整数值 功能
  adDBTimeStamp 135 日期时间数据类型
  adDecimal 14 十进制整数值
  adDouble 5 双精度小数值
  adError 10 系统错误信息
AdGUID 72 全域性唯一识别字(Globally unique identifier)
adDispath 9 COM/OLE自动对象(Automation Object)
adInteger 3 4字节有符号整数
adIUnknown 13 COM/OLE对象
adLongVarBinary 205 大型2字节值
adLongVarChar 201 大型字符串值
adLongVarWChar 203 大型未编码字符串
adNumeric 131 十进制整数值
adSingle 4 单精度浮点小数
adSmallInt 2 2字节有符号整数
adTinyInt 16 1字节有符号整数
adUnsignedBigInt 21 8字节无符号整数
adUnsignedInt 19 4字节无符号整数
adUnsignedSmallInt 18 2字节无符号整数
adUnsignedTinyInt 17 1字节无符号整数
adUserDefined 132 用户自定义数据类型
adVariant 12 OLE对象
adVarBinary 204 双字节字符变量值
adVarChar 200 字符变量值
advarchar 202 未编码字符串变量值
adWchar 130 未编码字符串

方向值的意义如下:
名称值 整数值 功能
adParamInput 1 允许数据输入至该参数当中
adParamOutput 2 允许数据输出至该参数当中
adParamInputOutput 3 允许数据输入、输出至该参数当中
adparamReturnValue 4 允许从一子程序中返回数据至该参数当中
sinusoid 2004-04-27
  • 打赏
  • 举报
回复
alter procedure pr_addNewUser
@LoginName varchar(20), --用户登录名
@UserName varchar(20), --用户姓名
@LoginPwd varchar(80), --用户密码
@Deptid int, --所在部门
@ComputerName varchar(20), --用户使用的计算机名
@note varchar(50), --备注
@ReturnVal tinyint output --返回值
AS
--....
sinusoid 2004-04-27
  • 打赏
  • 举报
回复
set cmd = Server.CreateObject("ADODB.Command")
cmd.CommandText = "pr_addNewUser" '存储的过程名
cmd.CommandType =4 'adCmdStoredProc
cmd.ActiveConnection = conn

cmd.Parameters.Append cmd.CreateParameter("@LoginName",200,1,20)
cmd.Parameters.Append cmd.CreateParameter("@UserName",200,1,20)
cmd.Parameters.Append cmd.CreateParameter("@LoginPwd",200,1,80)
cmd.Parameters.Append cmd.CreateParameter("@DeptID",3,1,4)
cmd.Parameters.Append cmd.CreateParameter("@ComputerName",200,1,20)
cmd.Parameters.Append cmd.CreateParameter("@note",200,1,50)
cmd.Parameters.Append cmd.CreateParameter("@ReturnVal",16,2,1)

cmd("@LoginName")=request("LoginName") '传递值
cmd("@UserName")=request("UserName")
cmd("@LoginPwd")=md5(request("password"))
cmd("@DeptID")=request("deptid")
cmd("@ComputerName")=request("ComputerName")
cmd("@note")=request("note")
cmd.execute

rtnVal=cmd("@ReturnVal") '=0登录名称已注册;=1成功注册;
if rtnVal=0 then
errmsg=errmsg&"登录名称已被注册."
elseif rtnVal=1 then
response.write "注册成功,2秒后自动转向用户登录。"
response.write "<meta http-equiv='refresh' content='2; url=login.asp'>"
end if
'response.write returnvalue
'cmd.close
set cmd=nothing

28,390

社区成员

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

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