Microsoft OLE DB Provider for SQL Server error '80040e07'

来源:百度知道 编辑:UC知道 时间:2024/09/22 11:44:43
Microsoft OLE DB Provider for SQL Server error '80040e07'
将 varchar 值 'undefined' 转换为数据类型为 int 的列时发生语法错误。

/user.asp, line 105

代码是rec_count=UBound(Products)
productlist = Session("productlist")
set rs=server.CreateObject("adodb.recordset")
sql = "Select product_id,cash From product Where product_Id In (" & productlist & ")"
105行在这里 rs.open sql,conn,1,1
rec_count=rs.RecordCount

请帮忙应该怎么做?谢谢!
出错的地方
Microsoft OLE DB Provider for SQL Server error '80040e07'
将 varchar 值 'undefined' 转换为数据类型为 int 的列时发生语法错误。

/user.asp, line 105

product_Id 字段是什么类型的?应该是INT类型的吧
但是你从Session()取出来的值的字符型,所以报错

登陆http://bbs.360.cn/3229787/30107045.html?recommend=1

sql = "Select product_id,cash From product Where product_Id In ('" & productlist & "')"

看得清楚吗?变量外面二边还要加单引号。
顺序为单引号,双引号,&符号,变量,&符号,双引号,单引号