asp删除access数据库问题,急

springgeng 2009-11-14 06:04:06
连接access数据库的文件名为articleconn.asp
内容如下:
<%
dim conn
dim connstr
connstr="DBQ="+server.mappath("date/mynews.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>


删除access数据库的文件内容为
<!--#include file="articleconn.asp"-->
<%
id=request("id")
set rs=server.createobject("adodb.recordset")
sql="delete from 表名 where id='"&id&"' "
rs.open sql,conn,1,1
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
执行错误为
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/del_jsgl.asp, 第 10 行

请高手指点。谢谢。本人急用。

...全文
235 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangg0717 2009-11-22
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 springgeng 的回复:]
原来是这个问题。还是非常谢谢大家。

在windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为:


1、Microsoft JET Database Engine (0x80040E09) 不能更新。数据库或对象为只读

2、Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

3、Microsoft JET Database Engine (0x80004005) 操作必须使用一个可更新的查询。

解决办法有以下几种(针对不同的服务器可能解决办法不一样,在这里假设网站主目录为wwwroot):

A、在wwwroot文件夹上面点击右键-“属性”-取消“只读”

此方法最简单、偶尔有效

B、在您的数据库文件上文件夹上面点击右键-“属性”-“安全”-添加用户:“IUSR_计算机名” 并开放“IUSR_计算机名”的读取、写入权限

此方法是目前解决这个问题最好的办法,一般都可以解决问题

XP系统下可能点击右键看不到“安全”选项,请先打开“工具”-“文件夹选项”-“查看”-取消“使用简单文件共享(推荐)” 然后即可在属性中找到“安全”选项

C、在wwwroot文件夹上面点击右键-“属性”-“web共享”-“共享文件夹”

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/oldmeng/archive/2009/06/04/4240865.aspx



[/Quote]


原来是权限问题啊
tujunask 2009-11-22
  • 打赏
  • 举报
回复
sql="delete from 表名 where id="&id
XJY123 2009-11-22
  • 打赏
  • 举报
回复
权限问题,对数据库文件加上权限就应该行了。
rdnglydm 2009-11-22
  • 打赏
  • 举报
回复
很简单的。就是一个
id=14
的问题。只要不加括号就行了。
springgeng 2009-11-21
  • 打赏
  • 举报
回复
原来是这个问题。还是非常谢谢大家。

在windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为:


1、Microsoft JET Database Engine (0x80040E09) 不能更新。数据库或对象为只读

2、Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

3、Microsoft JET Database Engine (0x80004005) 操作必须使用一个可更新的查询。

解决办法有以下几种(针对不同的服务器可能解决办法不一样,在这里假设网站主目录为wwwroot):

A、在wwwroot文件夹上面点击右键-“属性”-取消“只读”

此方法最简单、偶尔有效

B、在您的数据库文件上文件夹上面点击右键-“属性”-“安全”-添加用户:“IUSR_计算机名” 并开放“IUSR_计算机名”的读取、写入权限

此方法是目前解决这个问题最好的办法,一般都可以解决问题

XP系统下可能点击右键看不到“安全”选项,请先打开“工具”-“文件夹选项”-“查看”-取消“使用简单文件共享(推荐)” 然后即可在属性中找到“安全”选项

C、在wwwroot文件夹上面点击右键-“属性”-“web共享”-“共享文件夹”

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/oldmeng/archive/2009/06/04/4240865.aspx


lbcleo 2009-11-18
  • 打赏
  • 举报
回复
```
  • 打赏
  • 举报
回复
rs.open sql,conn,1,1
改成:
rs.open sql,conn,1,3
springgeng 2009-11-17
  • 打赏
  • 举报
回复
我发现原来我使用的是access2000做的数据库,执行以上程序没有问题;我现在使用access2003对数据库进行修改后,却无法执行以上程序,出现错误。请问如何解决?
fumingk 2009-11-17
  • 打赏
  • 举报
回复
sql="delete from 表名 where id="&request.querystring("id")
春天的气息 2009-11-17
  • 打赏
  • 举报
回复
前面都说了一些可能性的,还有另一种就是:


mdb被强性插入了数据,无法删除,某种意义上讲是mdb被破坏了,建议用access2003打开一下这个mdb库,进行修复一下,然后就有可能被删除了。
偷麦 2009-11-17
  • 打赏
  • 举报
回复
<%
db="MF_Stadmin/MF_stdata/MF_stdata.mdb"'如果你把程序上传到网站的 /shop目录的话,那么请把数据库联接路径改为 /shop/shop22#cndata.asa
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath (""&db&"")'
conn.Open connstr
%>
gingerkang 2009-11-15
  • 打赏
  • 举报
回复
吓我一跳,删数据库?
删数据不能用只读的游标,1,3应该可以
hs912 2009-11-15
  • 打赏
  • 举报
回复
<%
id=request("id")
sql="delete from 表名 where id='"&id&"' "
conn.execute sql
conn.close
set conn=nothing
%>
jd_zhangfeng 2009-11-14
  • 打赏
  • 举报
回复


<!--#include file="articleconn.asp"-->
<%
id=request("id")

sql="delete from 表名 where id='"&id&"' " 'id是数值还是string? 如果是字符串应该是 sql="delete from 表名 where id="&id
conn.execute(sql)
conn.close
set conn=nothing
%>
草原可可 2009-11-14
  • 打赏
  • 举报
回复
sql="delete from 表名 where id="&id 看看SQL 打印出来看看对不对
ACMAIN_CHM 2009-11-14
  • 打赏
  • 举报
回复
你前面已经打开了这个记录集 rs.open sql,conn,1,1 ,表锁定了。改成如下
<!--#include file="articleconn.asp"--> 
<%
id=request("id")
sql1="delete from 表名1 where id="&cint(id)
conn.execute(sql1)
conn.close
set conn=nothing
%>
springgeng 2009-11-14
  • 打赏
  • 举报
回复
错误类型:
Microsoft JET Database Engine (0x80004005)
无法从指定的数据表中删除。
/del_jsgl.asp, 第 10 行
ACMAIN_CHM 2009-11-14
  • 打赏
  • 举报
回复
[Quote]id是自动编号[/Quote]

delete from dtjsgl where id='14'
那就应该把这个''去掉!你知道为什么要把这个 '14'用引号括起来吗?


delete from dtjsgl where id=14
shanyonggang 2009-11-14
  • 打赏
  • 举报
回复
连接access数据库的文件名为articleconn.asp
内容修改如下:
<%set conn=server.createobject("adodb.connection")
conn.open"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.MapPath("*.mdb")
set rs=server.createobject("adodb.recordset")
%>

删除access数据库的文件内容为
删除表名1中指定的自动编号id这一条记录,且request("id")获取的值应为数值类型。若是表单传来的值通常应将
sql="delete from 表名1 where id='"&id&"' "写成:
sql1="delete from 表名1 where id="&cint(id)
下面是修改后的内容:
<!--#include file="articleconn.asp"-->
<%
id=request("id")
sql="select*from 表名1 where id="&cint(id)
rs.open sql,conn,1,1
sql1="delete from 表名1 where id="&cint(id)
conn.execute(sql1)
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
springgeng 2009-11-14
  • 打赏
  • 举报
回复
id是自动编号
加载更多回复(9)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧