欢迎访客 ( 登陆 | 注册 )

论坛索引 | 最新主题 | 热门主题 | 搜索论坛 | 成员列表 | 在线帮助

 
“操作必须使用一个可更新的查询“问题的解决-ZT
« 上一篇主题 | 下一篇主题 » 跟踪主题 | 邮寄主题 | 打印主题
  闪亮晨星 离线
1. “操作必须使用一个可更新的查询“问题的解决-ZT
HP : 241 / 1207
MP : 1461 / 20663
EXP : 30%
Administrator


成员等级: 49
发表总数: 4384
金币总数: 607
所属组别: 管理员
注册日期: 2003/01/10


“操作必须使用一个可更新的查询”
日期:[2001-12-29]

错误“操作必须使用一个可更新的查询”原因及解决办法

翻译得比较匆忙,呵呵。
错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an
updateable query.
或者是:
Microsoft JET Database Engine (0x80004005)
操作必须使用一个可更新的查询。

原因:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为
ADO由于以下的几个原因而不能够写数据库造成的。
1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。
当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为
Jet需要在该目录建立一个.ldb文件。
2。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3。还有可能是在ODBC管理器中将该DSN的只读选项选中。
4。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新
这两个表中各自字段。
5。当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)
中的查询时,在执行这个查询是会出现该错误。




user posted image 努力传递美好和希望--NBO
One ought, every day at least, to hear a little song, read a good poem, see a fine picture, and if it were possible, to speak a few reasonable words. –Goethe
发表于2003/10/9, 22:54
     Top
主题评分
未评分. 匿名用户无权对主题进行评分
0 名会员正在浏览该主题 (0 名游客 和 0 名隐身会员)
0 名会员:
有 0 篇回复自 2003/10/9, 22:54 跟踪主题 | 邮寄主题 | 打印主题

<< Back to 微软世家

 




Powered by PhoenixBBS v1.2 © 2000-2003  NetBuddy.Org