asp修改access某一行的代码,我写的老出问题

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>身份验证</title>
</head><%
name=request.form("name")
mima=request.form("mima")
beizhu=request.form("beizhu")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("zhanghaoke.mdb")
conn.execute("delete from shenfenyanzhang where 密码="&request.querystring("name")&"")
response.write "删除成功!跳转"

response.write(name)
conn.close
set conn=nothing
%>
</body>
</html>

粗略看了你的代码,发现了以下的问题:
request.form的值是通过表单来传递的,而request.querystring得值是通过浏览器的地址栏来传递的,你在代码中使用了name=request.form("name"),说明你的值是通过表单来获取的,这样的话,SQL语句就要这样写:
conn.execute("delete from shenfenyanzhang where 密码='"&name&"'")但是奇怪的是,怎么会是“密码=名字”,不知道你的表的结构是怎么样的。如果仅仅是要删除某用户的话,可以通过浏览器传递。比如页面的名称是del.asp,那么你可以这样写:
del.asp?name=变量名字
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("zhanghaoke.mdb")
conn.execute("delete from shenfenyanzhang where 密码="&request.querystring("name")&"")
response.write "删除成功!跳转"
response.write(name)
conn.close
set conn=nothing
%>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-21
conn.execute("delete from shenfenyanzhang where 密码='"&request.querystring("name")&"'")

你试试这句,密码是不是字符型的?另外数据库是不是有来宾账户的写权限?
第2个回答  2011-02-21
"delete from shenfenyanzhang where 密码="&request.querystring("name")&"")
应该选择判断一下request.querystring("name")信息是否有,如果没有就出错了。或你两边加个单引号,安全一些
第3个回答  2011-02-21
shenfenyanzhang?
是全部都是错的,还是就这里写错了?
第4个回答  2011-02-21
依照我的经验看是密码那里,密码是字符串的 密码='"&request.querystring("name")&"'应该加上''(单引号)