留学生 知乎:请问我的ASP的删除数据库代码哪里错了???

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 04:10:52
我删除前先显示这些记录,如下
<form name="form1" method="get" action="del.asp">
------记录------
<input type="submit" name="Submit" value="提交">

然后提交后跳转到del.asp
内容为

<!--#include file="conn.asp"-->
<%
id=request("id")
SqlStr = "delete from book where id='" &id& "'"
Conn.Execute(SqlStr)
response.write"<script>alert('已经成功删除!');location='跳转页面'</script>"
%>
------------------------------------------------------------

就是以上,请问哪里错了???这是我毕业设计就差这一步了,急求答案,谢谢
第一个页面能连上数据库,所有记录都能显示

conn是对的啊
<%
set db=server.createobject("adodb.connection")
db.open "DBQ="&server.mappath("date/book.mdb")&";driver={microsoft access driver (*.mdb)}"
%>

另外我用下面这种方法删除的话,提示成功了,但其实没删
表的内容还在
<!--#include file="conn.asp"-->
<%
id=request("id")
if id<>"" then
sql="select * from book where id="&id
set rs=db.execute(sql)
rs.open sql,db,1,3
id=rs("id")
name=rs("name")
fl=rs("fl")
chuban=rs("chuban")
zuozhe=rs("zuozhe")
rmb=rs("rmb")
riqi=rs("riqi")
beizhu=rs("beizhu")
bookbianhao=rs("bookbianhao")
rs.delete
end if
response.write"<script>alert('已经成功删除!')</script>"
%>

你的id字段是自动编号吗?
是的话,就是SQL语句错误:
应该为:SqlStr = "delete from book where id="&id

对问题补充的回答:
关于set rs=db.execute(sql)

如果你在conn.asp中定义了rs:
set rs=server.createobject("adodb.recordset")
那么这句set rs = db.execute(sql)就不正确了,不是说语句错误,而是你在下面又用了rs.open sqlstr,conn,1,3.
如果没有定义rs,则需要在rs.open sqlstr,conn,1,3前加上set rs=server.createobject("adodb.recordset")

其实你完全可以用原来的语句,没有必要用后面的这段代码.
<!--#include file="conn.asp"-->
<%
id=request("id")
SqlStr = "delete from book where id=" &id
Conn.Execute(SqlStr)
response.write"<script>alert('已经成功删除!');location='跳转页面'</script>"
%>

把这段代码替换看看吧!
varLink_id=Request.QueryString("id") '获取要删除的记录编号
strSql="Delete From teach Where id="+request.QueryString("id")
conn.Execute(strSql)
这个也是我的毕业设计!
呵呵

应该是conn.asp里的问题吧
第一个页面能连上数据库吗

报错提示是什么?