Asp classic 导致类型不匹配的空字符串

Asp classic 导致类型不匹配的空字符串,asp-classic,vbscript,ado,Asp Classic,Vbscript,Ado,我正在编写一个旧的asp页面,将会话变量插入数据库,以将它们传输到asp.NET应用程序。所以我循环遍历它们,并使用存储过程将它们插入数据库。其中一个值为空字符串,插入这些值时失败: Microsoft VBScript运行时错误“800a000d” 类型不匹配 我以key=value=vartype的形式将它们写到页面上,vartype实际上是8,一个字符串。是GoBack线路出现故障: User_id=2029=8 GoBack==8 ID_Reps=12345726=8 电话如下: .P

我正在编写一个旧的asp页面,将会话变量插入数据库,以将它们传输到asp.NET应用程序。所以我循环遍历它们,并使用存储过程将它们插入数据库。其中一个值为空字符串,插入这些值时失败:

Microsoft VBScript运行时错误“800a000d”

类型不匹配

我以key=value=vartype的形式将它们写到页面上,vartype实际上是8,一个字符串。是GoBack线路出现故障:

User_id=2029=8
GoBack==8
ID_Reps=12345726=8
电话如下:

.Parameters.Append .CreateParameter("@SessionValue", adVarChar, adParamInput, 4000, Session(objItem))

我不希望在插入时将其转换为空字符串。有办法解决这个问题吗?

有两个选项可以将会话(objItem)替换为:

If(Session(objItem), DBNull.Value)


我只是将参数设置为可选,默认值为null,如果值为null,则不添加该参数。

请参见此处:
If(Session(objItem), String.Empty)