`

操作必须使用一个可更新的查询 .

阅读更多
(网络转载)
错误“操作必须使用一个可更新的查询”原因及解决办法

相信很多向我这样用Access来开发Web的朋友都碰见过这个问题
原因:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为
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)
中的查询时,在执行这个查询是会出现该错误。
解决办法
1、win2k win2003 系统
         问题应该是服务器数据库目录的写入权限没有设置好。
         数据库目录 属性 安全 EVERYONE ……给他写入权限就OK了。

2、winXP系统
         XP操作系统安装好,文件夹选项里面默认使用简单共享(推荐),把这个选项去掉,
         再在文件夹上右键点击,就会出现安全这个选项卡,
         原来默认的没有,然后在安全选项卡里面可以设置用户的写入权限了
         右击数据库>安全>everyone>将需要的勾上
意思就是系统不让更新数据库了,就是对数据库没有写入的权限了。
在2000或XP下的NTFS格式的文件,都有权限设置的,用鼠标右键点文件或文件夹选属性,架设你的网站是在webroot的文件夹里,你就会看到



这样的界面,再点安全就会看到:




这样的界面,你可以看看允许项有没有打钩。
上面的Everyone就是所有人的意思,你可以上这个用户组可以完全控制
那样就不会再有那个错误了。
分享到:
评论

相关推荐

    ACCESS数据库操作必须使用一个可更新的查询解决办法.pdf

    ACCESS数据库操作必须使用一个可更新的查询解决办法 在ACCESS数据库操作中,常见的问题是无法更新数据库的问题。这种问题通常发生在Winxp和Windows 2003 server下,文件目录的只读属性会影响网站程序写数据库操作,...

    Access数据库提示OleDbException (0x80004005): 操作必须使用一个可更新的查询

    ### Access数据库提示OleDbException (0x80004005): 操作必须使用一个可更新的查询 #### 错误概述 在使用Microsoft Access作为后端数据库的应用程序中,开发人员可能会遇到名为“OleDbException (0x80004005): ...

    C#用Sql数据库查询方法操作Excel表格

    1. **安装必要的库**:为了在C#中操作Excel,你需要引入一个能够读写Excel文件的库,如EPPlus、NPOI或Microsoft.Office.Interop.Excel。这里我们将以EPPlus为例,它支持Open XML格式,且不需要Excel安装在运行机器上...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    另一种方法是使用原生SQL查询,这样可以直接控制SQL语句的生成,包括使用LIMIT和OFFSET关键字(对于MySQL等数据库)或ROW_NUMBER()函数(对于SQL Server)来实现分页。这同样可以绕过Hibernate的默认只进结果集行为...

    VB 6.0操作Sqlite数据库(查询、添加、更新、删除)

    使用Command对象执行SQL查询,创建一个Command对象,设置其CommandText属性为SQL语句,然后调用Execute方法。例如,执行一个简单的SELECT语句: ```vb Dim cmd As New ADODB.Command cmd.ActiveConnection = conn ...

    ETL工具Kettle用户手册

    2. 创建一个转换或任务 ............................................................................................................. 13 3. 数据库连接(Database Connections) ................................

    MySql.Data.dll +使用说明

    8. **事务处理**: 如果需要执行一系列相关的数据库操作,可以使用`MySqlConnection`的BeginTransaction()方法开始一个事务,并在操作成功后调用Commit(),失败则调用Rollback()。 9. **参数化查询**: 为了防止SQL...

    IFIX历史数据查询.rar

    1. `ifixhist.exe`:这是一个可执行文件,很可能是IFIX历史数据查询的主程序。用户可能通过运行这个程序来访问、检索、分析或导出IFIX系统的历史数据。它可能提供了一个图形用户界面,使得操作人员能够方便地指定...

    db2数据库入门教程(官方中文版)

    实验 #2 - 创建一个新的数据库............................................................................................43 4.1 DB2配置....................................................................

    SQL SERVER数据库批量更新程序

    总的来说,【SQL SERVER数据库批量更新程序】是一个功能强大的数据库管理工具,它简化了数据库的批量查询和更新过程,并通过与Excel和Crystal Reports的集成,提供了数据导出和报告生成的便利。无论是日常维护还是...

    操作Hibernate类:增加,删除,修改及查询.pdf

    这种方法返回的是一个对象,因为查询通常是基于特定主键的单个记录。 4. **删除(Delete)** - 删除操作有两种方式。第一种是通过对象删除,如`delete(Person person)`,它在事务中执行`session.delete(person)`,...

    C# MySQL 数据库操作类 (包含MySql.Data.Dll文件) 常用方法二三十多个

    本资源提供了一个C#编写的MySQL数据库操作类,包含了MySql.Data.Dll库,这使得开发者可以方便地进行数据库查询、插入、更新和删除等操作。这个类库集成了大约二三十个常用的方法,覆盖了数据库操作的基础功能。 ...

    C#,asp.net操作mongodb实例,新增,修改,查询,分页查询,删除,基类封装,打开直接运行

    此外,为了提高代码的可重用性和可维护性,通常会将这些操作封装在一个基类中。在这个实例中,我们可能有一个名为`MongoDBHelper`的基类,它包含静态方法,如`Add`, `Edit`, `GetList`, `GetPage`, `Delete`等,分别...

    C#连接sqlite 使用的类库System.Data.SQLite.dll

    总的来说,这个压缩包包含了一个使用C#连接SQLite数据库的完整示例,涵盖了从数据库连接、查询到应用部署的各个环节。开发者可以通过学习和研究这些文件,理解如何在.NET环境中利用`System.Data.SQLite.dll`库进行...

    查询的创建和使用学习教案.pptx

    4. 操作查询:用于数据的添加、更改或删除,包括删除查询、追加查询、更新查询和生成表查询。 5. SQL查询:基于SQL语言创建的查询,是数据库操作的标准语言。 查询的设计与视图: 1. 设计视图:用于编辑查询设计,...

    SQL必知必会(第3版-PDF清晰版)part1

    第11章 使用子查询...... 66 11.1 子查询..... 66 11.2 利用子查询进行过滤..... 66 11.3 作为计算字段使用子 查询..... 69 11.4 小结..... 71 第12章 联结表...... 72 12.1 联结..... 72 12.1.1 关系表..... 72 ...

    VBA_ACCESS_窗体的任意条件查询 .rar

    4. **显示结果**:你可以选择将查询结果加载到一个新的窗体或报表中,或者直接更新现有表格或子窗体的数据源。 5. **错误处理**:添加适当的错误处理代码,确保在遇到无效条件或其他问题时,程序能够优雅地处理错误...

    MongoDB Java更新文档.pdf

    MongoDB 是一个流行的开源、分布式文档数据库,常用于构建现代应用程序。Java 是广泛使用的编程语言,MongoDB 提供了 Java 驱动程序,使得在 Java 应用中操作 MongoDB 数据变得简单。本文将深入探讨如何使用 Java ...

    db2数据库入门官方教程(中文版)

    实验 #2 - 创建一个新的数据库............................................................................................43 4.1 DB2配置....................................................................

Global site tag (gtag.js) - Google Analytics