asp调用存储过程出现错误 '800a0bb9'

create PROCEDURE dbo.sp_InsertSo
    (
     @cust_name varchar(120)
    )
    AS
    BEGIN
     INSERT INTO dbo.so (cust_name)
     VALUES (@cust_name)

    END

asp:
set cmd=server.CreateObject ("adodb.command")
set cmd.ActiveConnection=conn
cmd.CommandText="{call sp_InsertSo(?)}"
cmd.Parameters.Append cmd.CreateParameter("@cust_name",adInteger,adParamInput)
cmd("@cust_name")="999"
cmd.Execute()

 

ADODB.Command 错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
出错行:cmd.Parameters.Append cmd.CreateParameter("@cust_name",adInteger,adParamInput)

用baidu找了半天找不到解决方法,用google搜索英文网站找到:

(a)  put <% Option Explicit %> at the top of your code
(b)  In case if you have not included, include ADO Type library or ADOVBS.inc at the top of your page.

e.g.
<!-- METADATA TYPE="typelib"
    UUID="00000205-0000-0010-8000-00AA006D2EA4"
     NAME="ADO 2.5 Type Library"
-->

于是加上:
dim cmd
Dim adCmdSPStoredProc
Dim adParamReturnValue
Dim adParaminput
Dim adParamOutput
Dim adInteger
Dim iVal
Dim oVal
Dim adoField
Dim adVarChar

'这些值在 VB 中是预定义常量,可以直接调用,但在 VBScript 中没有预定义
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParamOutput = 2
adInteger = 3
adVarChar = 200

iVal = 5
oVal = 3


执行成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值