ASP为什么不能向Access中插入记录,急
网页中显示错误信息:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
下面是代码
if request("add")="1" then
city=trim(request("city"))
cityno=trim(request("cityno"))
set rs=cn.execute("select * from t_cities where cityno='"&cityno&"'")
if not rs.eof then
response.write("<script language=javascript>alert('此ID已有,请输入别的城市号!');this.location='add.asp'</script>")
response.end()
end if
cn.execute "insert into t_cities (city,cityno) values ('"&city&"','"&cityno&"')"
response.write("<script language=javascript>alert('存储成功');this.location='add.asp'</script>")
end if
可以查询数据库,但写数据库时就会报上面的错误
问题点数:100、回复次数:11Top
1 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2005-04-04 16:08:55 得分 10
两种原因
1、数据库没设主键
2、登陆WINSOWS的用户名没有写入数据库权限,找到那个数据库文件右键属性安全保证你登陆WINDOWS的用户名下面的“写入”前面打钩,并且确定你的这个数据库文件的文件路径中没有只读的
在你的access文件或者mdb所在的文件夹上右键,属性-->安全-->添加-->everyone 完全控制 ok
Top
2 楼netter2003(我知道错了,以后我会及时结贴。)回复于 2005-04-04 16:33:56 得分 10
设不设主建应该没问题
可能是楼上所说的第二种情况
还有一种是
数据库出错了
我就遇到过(简单的插入语句,让我郁闷了大半天,原来是表烂了,我差点晕倒)
把原先的表删除了,再重新建一个Top
3 楼jhpxf(我是一是小小鸟,想要飞却飞不高。)回复于 2005-04-04 16:43:33 得分 10
操作必须使用一个可更新的查询。
说明错误一般是在数据库中,
楼上的两位差不多都说完了。
还有一种可能性是,你的数据库的表的字段设置了不能为空,但是你在写入数据的时候,却有一项或多项是空,这样的话,当然是写不进去的。Top
4 楼itzhiren(itzhiren)回复于 2005-04-04 16:45:04 得分 10
set rs=cn.execute("select * from t_cities where cityno='"&cityno&"'")
这一句最好改成:
set rs=server.createobject("adodb.recordset")
rs.open "select * from t_cities where cityno='"&cityno&"'",conn,3,1Top
5 楼netter2003(我知道错了,以后我会及时结贴。)回复于 2005-04-04 16:49:49 得分 10
两种写法都是一个样的,同样达到较果Top
6 楼myvicy(我来也!)回复于 2005-04-04 16:55:16 得分 10
权限原因Top
7 楼jzywh(江大鱼)回复于 2005-04-04 16:55:21 得分 10
http://www.201ren.com/bbs/dispbbs.asp?boardID=36&ID=41345&page=1Top
8 楼QQgenie(妖魔鬼怪)回复于 2005-04-04 17:02:43 得分 10
可以查询数据库,但写数据库时就会报上面的错误
---------------------------------------------
绝大多数是权限问题!Top
9 楼redstorm11(沙漠冰河)回复于 2005-04-04 17:03:01 得分 10
权限Top
10 楼ryuginka(一米八五的猪)回复于 2005-04-04 17:10:20 得分 5
是WIN2003吧?权限原因
Top
11 楼nova1980(新星-抵制日货)回复于 2005-04-04 17:10:27 得分 5
我遇到过这种问题,
就是数据库文件设置成了只读,请增加写的权限Top




