Selon cette page
, type de paramètre adVariant
(c'est-à-dire 12) n'est pas pris en charge par ADO.
Vous devez utiliser des constantes afin de rendre votre code plus lisible, par ex.
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)
Essayez peut-être celui-ci :
cmd.CommandType = adCmdText
cmd.CommandText = "{CALL deadlines_summary.PR_SUMMARY_IN(?,?,?,?,?,?,?)}"
Les paramètres numériques ne nécessitent pas de valeur de taille.
Vous devriez également essayer d'utiliser le type de paramètre adDate
au lieu de convertir les dates en valeurs de chaîne.
Vous devez supprimer les guillemets lorsque vous utilisez le paramètre bind, c'est-à-dire utiliser simplement theSubmittedDt = submitted_date
au lieu de theSubmittedDt = "'" & submitted_date & "'"
.