このページ
によると 、パラメータタイプadVariant
(つまり、12)はADOではサポートされていません。
コードを読みやすくするために、定数を使用する必要があります。
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)
多分これを試してみてください:
cmd.CommandType = adCmdText
cmd.CommandText = "{CALL deadlines_summary.PR_SUMMARY_IN(?,?,?,?,?,?,?)}"
数値パラメータにはサイズ値は必要ありません。
また、パラメータタイプadDate
の使用を試みる必要があります 日付を文字列値に変換する代わりに。
bindパラメータを使用する場合は、引用符を削除する必要があります。つまり、単にtheSubmittedDt = submitted_date
を使用します。 theSubmittedDt = "'" & submitted_date & "'"
の代わりに 。