注册 登录
编程论坛 ASP技术论坛

[tk29] 指出,错在哪在里啊??

j2ee126 发布于 2008-05-22 11:26, 1042 次点击
var cn=Server.CreateObject("ADODB.Connection")
 cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("book.mdb"))
 cn.Execute("insert into book(name,word) values('kkk','kkk')")
 cn.Close


错误类型:
Microsoft JET Database Engine (0x80004005)
操作必须使用一个可更新的查询。
16 回复
#2
google2008-05-22 11:32
看看数据库连接对不或者数据库路径对不对
#3
j2ee1262008-05-22 11:38
下面是查询,这个是正确的。
<%
 var cn=Server.CreateObject("ADODB.Connection")
 cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("book.mdb"))
 var rsCustomers = Server.CreateObject("ADODB.Recordset")
 rsCustomers.Open("select name,word from book order by id desc", cn)
 var name = rsCustomers("name")
 var word = rsCustomers("word")
 while (!rsCustomers.EOF){
%>
    <br /><%=name%>:<%=word%>
<%
     rsCustomers.MoveNext
 }
 cn.Close
%>
#4
j2ee1262008-05-22 11:41
这是不是说明了:数据库连接和数据库路径都没有问题啊!!
这是连接Access数据库的,难到插入语句有误??
不明白.........
#5
google2008-05-22 11:55
insert into book(name,word) values('kkk','kkk')
把这句话放到查询分析器中都能执行
#6
lili06109312008-05-22 11:57
cn.Execute("insert into book(name,word) values('"&kkk&"','"&kkk"&')")
这样应该可以了
#7
google2008-05-22 11:58
MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->打开数据库出错,没有在指定目录发现数据库
#8
j2ee1262008-05-22 12:07
我连接的是Access数据库,就是提示这句出错:
cn.Execute("insert into book(name,word) values('kkk','kkk')")
错误提示:操作必须使用一个可更新的查询。
如果这条代码没错的话,是不是我数据库有错误,但查询怎么没错啊?
我晕啊........
#9
j2ee1262008-05-22 12:31
还有其它连接Access数据库的方法吗?提供一个,我换个数据库连接试试!!
#10
hxfly2008-05-22 12:45
你连接数据库的方法是对的,但是确保一下路径也是对的,就是说你现在的这个ASP文件如果和数据库在同一目录下,那你这样连接就是对的。
让你检查下数据库,不是说它一定错了,而是这是出错的一种,如果这个错误排除,就继续检测看别的地方了。
insert into book(name,word) values('kkk','kkk')
这句语句也没有错误,因为我放到SQL里面执行,能产生正确的结果,所以说不应该是语句的错误
还有一个可能错误的原因,就是你这个name,word的数据类型,如果是字符串类型的,应该不会错的。
#11
j2ee1262008-05-22 14:02
这句也有错:
cn.Execute("delete from book where name='123'")
错误提示:无法从指定的数据表中删除。
修改也有错:
cn.Execute("update book set word='123' where name='123'")
错误提示:操作必须使用一个可更新的查询。
现在只能查询!
#12
hxfly2008-05-22 14:05
你是不是NTFS系统分区,没有修改文件的权限啊?
在数据库上右键,属性,安全中找找....
#13
j2ee1262008-05-22 14:20
盘是NTFS,这个图片是book.mdb的属性.你们看看有什么错..
#14
hxfly2008-05-22 14:47
文件夹,右键属性--安全---

看看存在不存在IIS用户或者EVERYONE用户类型,如果不存在,看看能不能添加这两种类型,然后赋予他们修改文件的权限,或者个USER相应的权限试试。因为系统和系统不一样,所以用户类型也不一样,但道理就是把这个东西运行的帐户的权限调高。

实在不行,你就把他列出来的所有的用户权限全部赋予完全控制权限(全部用户拥有全部权限)
#15
multiple19022008-05-22 14:51
检查数据库文件权限
#16
dhdhzzw2008-05-22 15:38
网站文件夹--属性---加入everyone或iwam的修改读写权限。。。
#17
j2ee1262008-05-26 12:13
我的文件夹,右键属性为什么没有安全这一项??
郁闷啊,
不过我把盘改成FAT32系统分区后就可以增、删、改了。哈哈.......

最后衷心的感谢 hxfly、google、multiple1902、dhdhzzw、lili0610931,
谢谢大家的帮助.......(这个问题郁闷了我好几天,不过现在终于解决了^_^)。
1