恐龙图片大全大图:看看我的asp代码错在那里

来源:百度文库 编辑:高校问答 时间:2024/04/29 01:35:21
<%
set conn=server.createobject("adodb.connection")
constr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=c:\asp\forasp.mdb"
conn.open constr
id=request.querystring("id")
if id<0 or id="" or not isnumeric(id) then
response.write "参数有误;错误提示"
response.write "<a href='index.asp'>返回</a>"
response.end
end if
sql="delete from alltest where id=" & id
conn.execute sql
response.write "数据成功删除<a href='index.asp'>返回</a>"
conn.close
set conn=nothing
%>
=============
错误提示:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 无法从指定的数据表中删除。
/test/del.asp, 第 12 行
==================
请问上面的问题怎么解决啊,谢谢了
我已经改了sql语句了,还是不行,我的网站目录是c;\asp,我看了一下这个目录的属性是只读的,我把只读属性去掉了也点击应用了,但我刷新一下在看这个目录的属性发现又成只读的了,不知道怎么解决了,谁能给讲详细点啊,我用的是超级管理员登陆系统的,c盘是ntfs,数据库放在c;\asp目录下面,数据库用户权限是默认的。

楼上说的也不无道理,但是你们都没发现吗?楼主所写的SQL语句有错误,所以执行不了
sql="delete from alltest where id=" & id
应该改为
sql="delete * from alltest where id="&id
因为用的是ACCESS数据库,所以格式必须是这样的,否则就会出错,楼主不访一试。

首先确认你的文件是否为只读属性。要不是,请往下看:
可能是文件系统的写权限问题
这种情况发生在使用文件型数据库中

假如你的文件系统是NTFS,则属性页中有个安全选项可以指定什么人可以读,什么人可以写等权限,通常情况下,web(x:\inetpub\wwwroot)目录是everyone只读的。
你检查一下你的网页放置的目录的权限是不是可写的。
你可以设置存放数据库的目录的权限为everyone完全控制。
同时在iis管理器中设置该目录的ip地址访问控制为“拒绝所有”,这样别人就不可以通过浏览器直接输入你的数据库的文件名来下载数据库了。
通过设置ip访问控制,就不需要给数据库改名了。