Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'F_ID=' 中。
/News/ShowNews.asp, 第 9 行
下面是代码:
<%
m_ID = Request.Querystring("ID")
m_SQL = "SELECT F_Title,F_Contents,F_Image,F_Addtime,F_Hits,F_CategoryID FROM T_News where F_ID="&m_ID //这行出错
Set rs = conn.Execute(m_SQL)
If Not rs.Eof then
m_Title = Trim(rs(0))
我查了一下改来改去还是不行?是什么原因呢
3 个解决方案
#1
在conn.execute(m_sql)之前 response.write m_SQL 看看语句有没有出错
#2
m_ID = Request.Querystring("ID")
这一句没值。
这一句没值。
#3
一般涉及sql出错时,可以用response.write 将sql语句写出来,通常语句出错的原因有,值为空,或者不存在相关列等等,看楼主报错语句"语法错误 (操作符丢失) 在查询表达式 'F_ID=' 中。
/News/ShowNews.asp, 第 9 行",应该是你的m_ID 为空,也就是 Request.Querystring("ID") 为空,你看看地址栏有没有给这个"ID"赋值,如果是从form传过来的,那应该是m_ID =Request.form("ID") ,如果不确定,那直接这样好了m_ID =Request("ID"),不执行速度过会慢一点.
/News/ShowNews.asp, 第 9 行",应该是你的m_ID 为空,也就是 Request.Querystring("ID") 为空,你看看地址栏有没有给这个"ID"赋值,如果是从form传过来的,那应该是m_ID =Request.form("ID") ,如果不确定,那直接这样好了m_ID =Request("ID"),不执行速度过会慢一点.
#1
在conn.execute(m_sql)之前 response.write m_SQL 看看语句有没有出错
#2
m_ID = Request.Querystring("ID")
这一句没值。
这一句没值。
#3
一般涉及sql出错时,可以用response.write 将sql语句写出来,通常语句出错的原因有,值为空,或者不存在相关列等等,看楼主报错语句"语法错误 (操作符丢失) 在查询表达式 'F_ID=' 中。
/News/ShowNews.asp, 第 9 行",应该是你的m_ID 为空,也就是 Request.Querystring("ID") 为空,你看看地址栏有没有给这个"ID"赋值,如果是从form传过来的,那应该是m_ID =Request.form("ID") ,如果不确定,那直接这样好了m_ID =Request("ID"),不执行速度过会慢一点.
/News/ShowNews.asp, 第 9 行",应该是你的m_ID 为空,也就是 Request.Querystring("ID") 为空,你看看地址栏有没有给这个"ID"赋值,如果是从form传过来的,那应该是m_ID =Request.form("ID") ,如果不确定,那直接这样好了m_ID =Request("ID"),不执行速度过会慢一点.