注册 登录
编程论坛 ASP技术论坛

语法错误 (操作符丢失)怎么解决

fanhexian 发布于 2010-06-10 12:04, 1136 次点击
我search.asp页面的代码如下:
 <%
                             dim shijian,nian,xueqi
                             nian1=request.form("nian1")
                             nian2=request.form("nian2")
                             xueqi=request.form("xueqi")
                             shijian=nian1&"-"&nian2&"年第"&xueqi&"学期"
                             Response.Write(shijian)
                           %>   
                           <%
                             Set rs1=Server.CreateObject("ADODB.RecordSet")
                             rs1.Open "select id from [time] where time=" &shijian,conn,1,1
                             if rs1.recordcount<>0 then
                                id=int(request("id"))
                             else id="没有对应内容"
                             end if
                             Response.Write(id)
                           %>
出现的错误提示如下:
Microsoft JET Database Engine (0x80040E14)
语法错误 (操作符丢失) 在查询表达式 'time=1-1年第1学期' 中。

请大家帮忙改一下,很急的,谢谢!
6 回复
#2
cnfarer2010-06-10 13:41
试试:shijian=""&nian1&"-"&nian2&"年第"&xueqi&"学期"
#3
hams2010-06-10 15:48
数据库结构是什么样子的?
#4
2010-06-10 17:09
个人觉得time应该是Text,
所以,应该要加开引号,和关引号。。。

应该吧。。。>_<
#5
fanhexian2010-06-10 17:20
我用的是Access数据库,time表中只有两个字段,id和time,time是文本类型,我想从time表中找到与传过来的shijian相同的记录的id
#6
gupiao1752010-06-10 17:29
time 是文本类型,数据类型就应改为这个了。
<%
'保险起见,再进行一个类型转换
shijian=Cstr(shijian)
Set rs1=Server.CreateObject("ADODB.RecordSet")
rs1.Open "select id from [time] where time='"&shijian&"'",conn,1,1

符号非常重要,如果你输出的shijian变量和time文本字段完全相同,却又依旧提示错误,把time字段改为其他字母比如:time1,因为time是保留字,用的时候在不同ACCESS版本里就有可能会出怪异问题!!

#7
rgx02182010-06-12 23:01
以下是引用pnovus在2010-6-10 17:09:46的发言:

个人觉得time应该是Text,
所以,应该要加开引号,和关引号。。。

应该吧。。。>_<
应该是这样的。
1