Application对经典asp中的当前操作使用了错误类型的值

Jag*_*esh 6 asp-classic

我使用以下代码调用一个存储过程:

m_objCmd.CommandText = "StoredProc_Name"
m_objCmd.Parameters.Append m_objCmd.CreateParameter("@UserID", 3, 1, 0, UserID)
m_objCmd.Parameters.Append m_objCmd.CreateParameter("@UserTypeID", 3, 1, 0, UserTypeID)
m_objCmd.Parameters.Append m_objCmd.CreateParameter("@AccessToken", 202, 1, 100, AccessToken)
m_objCmd.Parameters.Append m_objCmd.CreateParameter("@TokenExpiration", 135, 1, 0, TokenExpiration)
m_objCmd.Parameters.Append m_objCmd.CreateParameter("@RefreshToken", 202, 1, 100, RefreshToken)

rsUserData.Open m_objCmd, , adOpenStatic, adLockReadOnly  
Run Code Online (Sandbox Code Playgroud)

在上面:

  • @UserID 是一个'int'dataType
  • @UserTypeID 是'int'
  • @AccessToken 是nVarchar(100)
  • @TokenExpiration 是数据时间(2)
  • @RefreshToken 是nVarchar(100)

但在这里我收到错误:

应用程序使用错误类型的值进行当前操作.

任何人都可以帮助我.

The*_*ver 7

几天前我遇到了同样的问题.我的问题是溢出,因为Kul-Tigin在下面建议.

我试图插入一个长达17,000多个字符的巨大字符串,我收到与你完全相同的错误.然后我选择将字符串保存在文本文件中,然后将表用作文件定位器.

检查以下值的长度:

  • @UserID是'int'dataType
  • @UserTypeID是'int'
  • @AccessToken是nVarchar(100)
  • @TokenExpiration是数据时间(2)
  • @RefreshToken是nVarchar(100)