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

删除数据库语句不对,帮忙改正一下,谢谢

三哥 发布于 2010-04-15 19:29, 616 次点击
exec="delete * from guestbook where name="&request.form("name")  谢谢各位帮忙啊 数据库名cool.mdb 表名book
错误提示:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'name=' 中。
全部代码:
<form name="form1" method="post" action="example3.asp">
delete:
<input type="text" name="name">
<input type="submit" name="Submit" value="提交">
</form>
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("cool.mdb")
exec="delete * from book where name="&request.form("name")
conn.execute exec
%>
各位大虾,指点下!

[ 本帖最后由 三哥 于 2010-4-15 19:37 编辑 ]
5 回复
#2
golmjie2010-04-15 20:39
exec="delete * from guestbook where name="&request.form("name") <--这里应该没传东西过来吧是不是?
#3
zzy_4202010-04-15 22:06
exec="delete * from book where name="&request.form("name")

改成如下形式就可以了:

exec="delete * from book where name='" & request.form("name") & "'"


[ 本帖最后由 zzy_420 于 2010-4-15 22:08 编辑 ]
#4
longxuanxuan2010-04-16 09:36
程序代码:
<%
qq
=replace(request.form("qq"),"","")

if qq<>""  then
ww
= "delete from tb_news where id in ("&qq&")"
Set rs1=Server.CreateObject ("ADODB.Recordset")
rs1.Open ww,conn
%
这是我做一个删除的coding      你的 这行语句
exec="delete * from book where name="&request.form("name")
应该是name后面少了 in   
#5
aspic2010-04-16 09:43
字符需要''
#6
gupiao1752010-04-16 10:13
1,把如下代码插入到SQL语句exec="delete * from book where name="&request.form("name")之前
dim name=request.form("name")
response.write(name)
response.end
看看变量name是否有值输出?如果没有,就考虑整个HTML的FORM里是否有name这个标签了!

2,如果有值就判断格式问题,如果book里的name字段是数字字段,如下:
exec="delete * from book where name="&name
    如果是文本类型的,则如下:
exec="delete * from book where name='"&name&"'"
正常情况下这个问题属于很基本的问题,不复杂,只要你用心,问题一定会解决的!
1