Классический ASP - ADO выполняет хранимую процедуру, передавая параметры

Мне нужно передать параметры в хранимую процедуру с классическим ASP. Я вижу, что некоторые люди используют объект Command, а другие НЕ используют его.

Мои sproc-параметры такие:

@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

(Мне не нужен набор записей, я просто пытаюсь заставить его отправлять данные)

Ошибка:
Ошибка ADODB.Recordset '800a0bb9'
Аргументы имеют неправильный тип, находятся за пределами допустимого диапазона или конфликтуют друг с другом.

Я пробовал командный материал, и я получаю ошибки "точности". Должен ли я использовать объект команды?

например

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")

Ответы на вопрос(1)

Ваш ответ на вопрос