网页制作留言板asp代码有错

来源:百度知道 编辑:UC知道 时间:2024/05/13 03:34:25
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (逗号) 在查询表达式 'board_id=1, 2' 中。
/we/2006010409532086924/forum_board.asp, 第 20 行

<%
Dim topics
Dim topics_numRows

Set topics = Server.CreateObject("ADODB.Recordset")
topics.ActiveConnection = MM_mydate_STRING
topics.Source = "SELECT post.post_id,post.name,post.email,post.subject,post.content,post.post_time,post.board_id,count(reply.post_id) as num FROM post left join reply on post.post_id=reply.post_id WHERE board_id=" + Replace(topics__a, "'", "''") + " group by post.post_id,post.name,post.email,post.subject,post.content,post.post_time,post.board_id ORDER BY post.post_id desc"
topics.CursorType = 0
topics.CursorLocation = 2
topics.LockType = 1
topics.Open()
topics_numRows = 0
%>


估计是sql 语句错误 请高手指点

WHERE board_id=" + Replace(topics__a, "'", "''") + " group by

改为

WHERE board_id in (" + Replace(topics__a, "'", "''") + ") group by

我估计是数据类型不匹配错误,Replace()函数处理后的结果是文本型,你数据库里面board_id定义的是什么类型?如果是整形,那么肯定会出错!
你应该写成:int(Replace())