歌之守护者3.3通关视频:asp:不能删除数据库记录,为什么?急....

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 22:35:00
<%
dim sql
dim rs
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"&_
"Data Source="&Server.MapPath("classmate.mdb")
Conn.Open
set rs=server.createobject("adodb.recordset")
sql="delete * from classmate where '姓名'='id'"
rs.Open sql,conn,1,1
Response.Write "信息成功删除!"&"<br>"
Response.Write"<A HREF=6-1.asp>返回首页</A>"
%>
其中的id是从另外一个网页传来的值,浏览器上显示的出错信息如下:
错误类型:
Microsoft JET Database Engine (0x80004005)
无法从指定的数据表中删除。
/06/delnew.asp, 第 10 行

sql="delete * from classmate where '姓名'='"&id&"'"
SQL语句改成我这样的
如果姓名字段是文本型,如果是数字型,则用
sql="delete * from classmate where '姓名'="&id

另外rs.Open sql,conn,1,1
改成rs.Open sql,conn,1,3
或rs.Open sql,conn,3,3

dim id
id=request("id")

sql="delete * from classmate where 姓名=' "& id & "'"
rs.Open sql,conn,3,3

看下你的表名对吗

你的从另一个表中传过来的Id的内容是序号还是姓名啊??你可以用response.write命令把"delete * from classmate where '姓名'='id'",这一句输出到页面上看一下,就知道错误在哪里了.

出错出在SQL语句上。

sql="delete * from classmate where '姓名'='id'"

改成下面

sql="delete * from classmate where 姓名='"&id&"'"

id字段如果不是字符串类型,不要用单引号,另外,1,1是只读打开数据库,改为1,3或3,3

conn.execute "delete * from classmate where 姓名='"&id&"'"