语法错误 (操作符丢失) 在查询表达式
错误类型:MicrosoftJETDatabaseEngine(0x80040E14)语法错误(操作符丢失)在查询表达式'ispass=1andisdel=0andisl...
错误类型:
Microsoft JET Database Engine (0x80040E14)
语法错误 (操作符丢失) 在查询表达式 'ispass=1 and isdel=0 and islock=0 and isopen=1 and dept_id=() and dept_num=()' 中。
错误代码处
dim deptids,deptnums
deptids =session("dept_id")
deptnums=session("dept_num")
set rs=server.Createobject ("adodb.recordset")
if channelID<>"" then
sql="select * from news where ("&sql&") and dept_id=("&deptids&") and dept_num=("&deptnums&") and ispass=1 and isdel=0 and islock=0 and isopen=1 order by istop desc, newsid desc"
else
sql="select * from news where ispass=1 and isdel=0 and islock=0 and isopen=1 and dept_id=("&deptids&") and dept_num=("&deptnums&") order by istop desc, newsid desc"
end if
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write ""
改成:
sql="select * from news where ispass=1 and isopen=1 and and isdel=0 and islock=0 dept_id in ("&deptids&") and dept_num in ("&deptnums&") order by istop desc, newsid desc"
语法错误 (操作符丢失) 在查询表达式 'ispass=1 and isopen=1 and and isdel=0 and islock=0 dept_id in (2) and dept_num in (1)' 中。
难道语句太长就不行么…… 展开
Microsoft JET Database Engine (0x80040E14)
语法错误 (操作符丢失) 在查询表达式 'ispass=1 and isdel=0 and islock=0 and isopen=1 and dept_id=() and dept_num=()' 中。
错误代码处
dim deptids,deptnums
deptids =session("dept_id")
deptnums=session("dept_num")
set rs=server.Createobject ("adodb.recordset")
if channelID<>"" then
sql="select * from news where ("&sql&") and dept_id=("&deptids&") and dept_num=("&deptnums&") and ispass=1 and isdel=0 and islock=0 and isopen=1 order by istop desc, newsid desc"
else
sql="select * from news where ispass=1 and isdel=0 and islock=0 and isopen=1 and dept_id=("&deptids&") and dept_num=("&deptnums&") order by istop desc, newsid desc"
end if
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write ""
改成:
sql="select * from news where ispass=1 and isopen=1 and and isdel=0 and islock=0 dept_id in ("&deptids&") and dept_num in ("&deptnums&") order by istop desc, newsid desc"
语法错误 (操作符丢失) 在查询表达式 'ispass=1 and isopen=1 and and isdel=0 and islock=0 dept_id in (2) and dept_num in (1)' 中。
难道语句太长就不行么…… 展开
4个回答
展开全部
1 字符串的查询语句不是打括号,而是打单引号。
应该改成:"dept_id='"& deptids & "'"
如果参数deptids有多个,需要用逗号连接的形式(如:'A','B','C' 注意要单引号,如果不是字符串格式,就直接是A,B,C就可以了),SQL语句需改成"dept_id in ("& deptids & ")"
2 sql="select * from news where ("&sql&") and dept_id=("&deptids&") and dept_num=("&deptnums&") and ispass=1 and isdel=0 and islock=0 and isopen=1 order by istop desc, newsid desc"
这一句中的 ("& sql &")是不是搞错了,和现在这个字符串名字(sql)是一样的。
-----------------------------------------
看样子dept_id 和 dept_num是数字型。
把dept_id=(xxx) 和 dept_num=(xxx)改成
dept_id in (),dept_num in ()
并且需要判断deptids 和 deptnums是否为空,如果为空,就不要加到判断条件里。
另外deptids 和 deptnums 是不是指有多个?如果是多个,需要用逗号分开。
应该改成:"dept_id='"& deptids & "'"
如果参数deptids有多个,需要用逗号连接的形式(如:'A','B','C' 注意要单引号,如果不是字符串格式,就直接是A,B,C就可以了),SQL语句需改成"dept_id in ("& deptids & ")"
2 sql="select * from news where ("&sql&") and dept_id=("&deptids&") and dept_num=("&deptnums&") and ispass=1 and isdel=0 and islock=0 and isopen=1 order by istop desc, newsid desc"
这一句中的 ("& sql &")是不是搞错了,和现在这个字符串名字(sql)是一样的。
-----------------------------------------
看样子dept_id 和 dept_num是数字型。
把dept_id=(xxx) 和 dept_num=(xxx)改成
dept_id in (),dept_num in ()
并且需要判断deptids 和 deptnums是否为空,如果为空,就不要加到判断条件里。
另外deptids 和 deptnums 是不是指有多个?如果是多个,需要用逗号分开。
展开全部
汗。。空格。。
between
'00:00:00'and'
08:00:00
'and
and
和其他数据项要有空格。。。
between
'00:00:00'and'
08:00:00
'and
and
和其他数据项要有空格。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql="select
*
from
dept
where
d_number="&d_number改成sql="select
*
from
dept
where
d_number='&+d_number+&'"我记得大概是这样,
SQL语句
里用变量的格式。你再仔细
查查
就知道了。
*
from
dept
where
d_number="&d_number改成sql="select
*
from
dept
where
d_number='&+d_number+&'"我记得大概是这样,
SQL语句
里用变量的格式。你再仔细
查查
就知道了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个可以用Access自动生成SQL语句啊,新建查询向导,然后选择要查询的表和列就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询