51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4230|回复: 9
打印 上一主题 下一主题

[原创] QTP处理存储过程输出参数问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-3-13 17:57:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
'与数据库建立连接省略写了一下
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.commandType=4
cmd.CommandText = "oneinout" '储存过程名,这个存储过程包含一个输入参数,一个输出参数。
'QTP在调试的时候对于CreateParameter这个VBS里面的函数好像不认,无法通过。报错误的参数个数或无效的参数属性值:“CreateParameter”
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)

'补充说明一下入参我用以下方法是可以执行通过。
cmd.Parameters.item(0)=10

各位大虾,是否有好的检查存储过程返回结果的方法?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-3-13 18:09:35 | 只看该作者
期待解决方案!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2008-3-14 09:00:33 | 只看该作者

    QTP运行VBS

    你直接写个VBS文件,运行会报错么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2008-3-14 09:00:49 | 只看该作者
    或者使用VBS编辑器
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2008-3-16 13:21:43 | 只看该作者
    解决了
    入参可以用:
    cmd.Parameters.item(0)=10或者cmd.Parameters.item(“入参名”)=10取得。
    出参可以用:
    dim return
    return=cmd.Parameters.item(1).value或者return=cmd.Parameters.item(“出参名”).value取得。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2008-3-16 13:22:28 | 只看该作者
    入参可以用:
    cmd.Parameters.item(0)=10或者cmd.Parameters.item(“入参名”)=10传入。
    出参可以用:
    dim return
    return=cmd.Parameters.item(1).value或者return=cmd.Parameters.item(“出参名”).value取得。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2008-3-16 13:27:30 | 只看该作者
    补充:
    获得出参前别忘加
    Cmd.Execute
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-3-26 10:09:46 | 只看该作者
    执行到CMD.EXECUTE的时候来了句
    [Microsoft][ODBC SQL Server Driver][SQL Server]过程或函数 'p_CheckItemReference' 需要参数 '@ClassID',但未提供该参数。
    好象参数没有传入诶

    [ 本帖最后由 fox750 于 2008-3-26 13:29 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2008-3-26 13:59:55 | 只看该作者
    第一、看入参是否都已经付值l了。
    第二、传入入参的数据类型是否匹配
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-3-26 16:02:18 | 只看该作者
    cmd.Parameters.Append cmd.CreateParameter("@aaa",3,1)
    cmd("@aaa")=10
    cmd.Parameters.Append cmd.CreateParameter("@bbb",3,2)
    Cmd.Execute
    a=cmd("@bbb")
    msgbox a

    你这样试试看
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-9 09:54 , Processed in 0.075849 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表