加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

存储过程 – 经典ASP – ADO执行存储过程传入??参数

发布时间:2020-12-16 04:02:14 所属栏目:asp.Net 来源:网络整理
导读:我需要使用Classic ASP将参数传递给存储过程.我确实看到一些人使用Command对象而其他人没有使用它. 我的sproc params是这样的: @RECORD_NUMBER decimal(18,0),@ErrorType nvarchar(100),@INSURANCE_CODE smallint,@CompanyId int,@INS_ID_NUM nchar(22) 然
我需要使用Classic ASP将参数传递给存储过程.我确实看到一些人使用Command对象而其他人没有使用它.

我的sproc params是这样的:

@RECORD_NUMBER decimal(18,0),@ErrorType nvarchar(100),@INSURANCE_CODE smallint,@CompanyId int,@INS_ID_NUM nchar(22)

然后我试着这样做:

Dim conn,rsSet,rsString,cmd

Dim RN,ET,IC,CI,IIN
RN = Request.Form("Record_Number")
ET = Request.Form("ErrorType")
IC = Request.Form("INSURANCE_CODE")
CI = Request.Form("CompanyID")
IIN = Request.Form("INS_ID_NUM")

set conn = server.CreateObject("adodb.connection")
set rsSet = Server.CreateObject ("ADODB.Recordset")


conn.Open Application("conMestamed_Utilities_ConnectionString")
rs_string = "apUpdateBill " & RN &",'" &  ET & "'," & IC & "," & CI & ",'" & IIN & "'"
rsSet.Open rsString,conn,adOpenForwardOnly,adCmdText

(我不需要Recordset,我只是想让它发送数据)

Error:
ADODB.Recordset error ‘800a0bb9’
Arguments are of the wrong type,are out of acceptable range,or are in conflict with one another.

我尝试了Command的东西,我得到了“精确”错误
我“有”使用命令对象吗?

例如

Set cmd = Server.CreateObject("ADODB.Command")
'Set cmd.ActiveConnection = conn
'cmd.CommandText = "apUpdateBill"
'cmd.CommandType = adCmdStoredProc
'Cmd.Parameters.append Cmd.createParameter("@Record_Number",adDecimal,adParamInput,18)
'Cmd.Parameters("@Record_Number").Precision = 0
'Cmd.Parameters("@Record_Number").value = Request.Form("Record_Number")

解决方法

您将如何操作,您将不需要创建记录集对象,因为它是一个更新存储过程:
'Set the connection
'...............

'Set the command
DIM cmd
SET cmd = Server.CreateObject("ADODB.Command")
SET cmd.ActiveConnection = Conn


'Prepare the stored procedure
cmd.CommandText = "apUpdateBill"
cmd.CommandType = 4  'adCmdStoredProc

cmd.Parameters("@RECORD_NUMBER") = Request.Form("Record_Number") 
cmd.Parameters("@ErrorType") = Request.Form("ErrorType") 
cmd.Parameters("@INSURANCE_CODE") = Request.Form("INSURANCE_CODE")
cmd.Parameters("@CompanyId") = Request.Form("CompanyID") 
cmd.Parameters("@INS_ID_NUM") = Request.Form("INS_ID_NUM")

'Execute the stored procedure
'This returns recordset but you dont need it
cmd.Execute

Conn.Close
SET Conn = Nothing

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读