回 帖 发 新 帖 刷新版面

主题:问操作符丢失的问题

<% 
articalid=request.Form("articalid")
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("db_gonghuiwb.mdb")

if not request.Form("deal")="" then
exec="select * from artical where articalid="+articalid+""
set rs=server.CreateObject("adodb.recordset")
rs.open exec,conn,1,3
rs("deal")=request.Form("deal")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing


else
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("db_gonghuiwb.mdb")
exec="delete * from artical where  articalid="+articalid+""
conn.execute exec
conn.close
set conn=nothing

end if
%>

修改操作可以执行 但是删除操作出错


错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'articalid=' 中。
/do_artical.asp, 第 30 行







到底问题在哪??

回复列表 (共7个回复)

沙发

articalid  和 numberof 字段属性一样吗?

板凳

那一句没有错误

出错的是

else
set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("db_gonghuiwb.mdb")
exec="delete * from artical where  articalid="+articalid+""
conn.execute exec
conn.close
set conn=nothing

end if

3 楼

就是要和没有错的那句对比一下啊 呵呵

4 楼

都是数字

5 楼

exec="delete  from artical where  articalid="&articalid

6 楼

楼上的  去了*号也还是不行啊

下面这段语句可以执行 跟上面出错的语句 的语法都一样啊
<%
numberof=request.Form("numberof")

set conn=server.CreateObject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("db_gonghuiwb.mdb")
exec="delete * from menbers where  numberof="+numberof+""
conn.execute exec
conn.close
set conn=nothing
%>

我甚至把这段语句复制过去然后改表名 把numberof改成articalid 但还是一样出错!

我实在搞不清是怎么错的!!

7 楼

原来我这2个操作是用不同的表单提交的 
删除操作的表单名没写对

不好意思  打扰了。。。。。。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册