Według tej strony
, typ parametru adVariant
(tj. 12) nie jest obsługiwane przez ADO.
Powinieneś używać stałych, aby twój kod był bardziej czytelny, np.
Const adUseClient = 3
Const adOpenStatic = 3
Const adCmdText = 1
Const adCmdStoredProc = 4
Const adVarChar = 200
Const adNumeric = 131
Const adChar = 129
Const adBigInt = 20
Const adInteger = 3
Const adParamInput = 1
Const adParamOutput = 2
Const adParamInputOutput = 3
Const adParamReturnValue = 4
cmd.Parameters.Append cmd.CreateParameter("theAccountId", adVarChar, adParamInput, , Request.Form ("aid"))
cmd.Parameters.Append cmd.CreateParameter("theAwardId", adNumeric, adParamInput, , award_id)
cmd.Parameters.Append cmd.CreateParameter("theDueDate", adVarChar, adParamInput, 100, theDueDt)
cmd.Parameters.Append cmd.CreateParameter("theSubmittedDate", adVarChar, adParamInput, 100, theSubmittedDt)
cmd.Parameters.Append cmd.CreateParameter("theReportDescription", adVarChar, adParamInput, 100, theReportDesc)
cmd.Parameters.Append cmd.CreateParameter("theFormId", adVarChar, adParamInput, 100, theFrmId)
cmd.Parameters.Append cmd.CreateParameter("theReturnCode", adNumeric, adParamOutput)
Może spróbuj tego:
cmd.CommandType = adCmdText
cmd.CommandText = "{CALL deadlines_summary.PR_SUMMARY_IN(?,?,?,?,?,?,?)}"
Parametry numeryczne nie wymagają wartości rozmiaru.
Powinieneś również spróbować użyć typu parametru adDate
zamiast konwertować daty na wartości ciągów.
Musisz usunąć cudzysłowy, gdy używasz parametru bind, tj. użyj po prostu theSubmittedDt = submitted_date
zamiast theSubmittedDt = "'" & submitted_date & "'"
.