【发布时间】:2018-09-03 15:58:10
【问题描述】:
我尝试了很多很多东西,但是在尝试向命令对象添加参数时,不断收到错误 3001(参数类型错误、超出可接受范围或相互冲突)。
Set cmd = CreateObject("ADODB.Command")
cmd.ActiveConnection = con
cmd.CommandText = "ProcName"
cmd.CommandType = 4 'adCmdStoredProc
MsgBox("0")
'cmd.Parameters.Append(cmd.CreateParameter("@InvoiceNumber", adVarChar, adParamInput, 100, sInvoice))
Set pInvoiceNumber = cmd.CreateParameter("@InvoiceNumber", adVarChar, adParamInput, 100, sInvoice)
cmd.Parameters.Append(pInvoiceNumber)
连接对象在此代码运行时有效且打开。存储过程的@InvoiceNumber 参数是一个varchar(100)。我在这里错过了什么?
【问题讨论】:
-
更具体地说,错误发生在
Set pInvoiceNumber = ...这一行。 -
Set cmd.ActiveConnection = con? -
@oraclecertifiedprofessional 是的。正如我所提到的,在那一点上它是一个有效且开放的连接对象。这不是正确的做法吗?
-
我的意思是,问题可能是你没有使用
Set。 -
也许您可以通过使用
Refresh(): support.microsoft.com/kb/185125 来明确定义参数?
标签: sql-server vbscript ado