pqshow 发表于 2007-3-20 15:45:05

解决"操作必须使用一个可更新的查询" Access数据库

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

abcd901 发表于 2009-1-18 19:46:26

09小说阅读网推荐

09小说阅读网推荐的A级影视播放器是一款可在线欣赏视频的绿色软件。09小说阅读网2008独家提供,本播放器下载安装后,您就可以在网上观看各种激爽节目,武侠小说给你全新的视频体验,玄幻小说赶快加入吧!纵观天下影视,这里风景最好! 请未满20周岁或厌勿者绕道!

efgh103 发表于 2009-2-20 23:10:36

魔电论坛群发软件www.ab998.cn

魔电论坛群发软件150万论坛数据,2分钟看效果,可以突破各种验证码,
分行业,可以分解发送,也可以综合发送,还可以边搜索边发送。任意添加数据库。
www.ab998.cn
电话:0411-87849898
传真:0411-87849797
客服QQ52040589
联系人:杨先生
页: [1]
查看完整版本: 解决"操作必须使用一个可更新的查询" Access数据库