提示错误"Operation must use an updateable query",怎么回事?

無缺 2006-08-19 12:41:49
ASP+ACCESS应用系统,插入记录时,有如下错误提示:
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.
mdb文件没有只读属性,且"Home Directory"里面的"Read""Write"属性都打开了

请教高手还有什么原因可能引起这个问题

...全文
960 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
無缺 2006-08-22
  • 打赏
  • 举报
回复
问题已解决,感谢楼上各位相助
無缺 2006-08-22
  • 打赏
  • 举报
回复
问题已解决,感谢楼上各位相助
無缺 2006-08-19
  • 打赏
  • 举报
回复
感谢LeoHuang

可能不是这个问题
浙外 2006-08-19
  • 打赏
  • 举报
回复
NTFS文件系统下,在你的MDB文件的属性里有个安全的。那里要开下EVERYONE的写权限。
leohuang 2006-08-19
  • 打赏
  • 举报
回复
try
-----------------------------
rs.open sql,conn,2,3
penglewen 2006-08-19
  • 打赏
  • 举报
回复
找到MDB文件所在的文件夹,所改的是文件夹的属性,
属性->共享和安全->安全->选中你所要用到的用户名->权限->所要的就打勾
如果没有看到共享和安全的选项:
工具->文件夹选项->查看->使用简单文件共享的勾去了,就OK啦!
leohuang 2006-08-19
  • 打赏
  • 举报
回复
1. 最常见的原因是 Internet 来宾帐户(IUSR_MACHINE,默认情况下该帐户属于“Everyone”组)对数据库文件 (.mdb) 没有写权限。要解决此问题,请使用 Explorer 中的“安全”选项卡来调整此文件的属性,以便 Internet 来宾帐户具有正确的权限。

注意:在将 Microsoft Access 数据库与 ADO 一起使用时,还必须授予 Internet 来宾帐户对包含 .mdb 文件的目录的写权限。这是因为 Jet 会创建一个用于处理数据库锁定的 .ldb 文件。由于 Jet 可能会在“Temp”目录中创建临时文件,因此您可能还需要授予对该文件夹的读/写权限。
2. 出现此错误的第二个原因是数据库不是使用具有写权限的正确模式打开的。如果您对 Connection 对象执行 Open 操作,则应使用 Mode 属性指示对该连接所拥有的权限,如下所示:
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. 最后一个问题和替代方法适用于所有 SQL 数据源。违反数据库的引用完整性的 SQL 语句可以导致出现此错误。下面是一些最常见的失败的查询:
• 其中最简单的一组查询是以下您无法更改的查询:UniqueValue 属性设置为 Yes 的交叉表查询、SQL 传递查询、联合查询或更新(即生成表)操作查询。


• 另一种非常常见的原因是联接包含的链接 ODBC 表的索引不是唯一的。在这种情况下,SQL 无法保证表中的记录是唯一,该表中字段的值将随查询发生更改。


• 有一种原因确实有可靠的替代方法。如果您尝试更新“一对多”查询的“一”方的联接字段,操作将会失败,除非您启用级联更新。因为这样您就可以将引用完整性委托给 JET 引擎。

浙外 2006-08-19
  • 打赏
  • 举报
回复
cly@zjei.net
無缺 2006-08-19
  • 打赏
  • 举报
回复
惭愧,是NTFS系统的,是Administrator登陆的,真是找不到这个选项
要不我截个屏,发到star兄的邮箱里,帮忙看一下
浙外 2006-08-19
  • 打赏
  • 举报
回复
汗死。NTFS里怎么会没有安全选项。难道你不是以管理员的身份登陆操作系统的?这个和ACCESS没有关系。是和操作系统挂钩的
無缺 2006-08-19
  • 打赏
  • 举报
回复
找了好长时间,确实没有star描述的选项
我的数据库文件是ACCESS97转到2003的,这会不会有影响
浙外 2006-08-19
  • 打赏
  • 举报
回复
右击MDB文件,然后选择属性,然后在出来的窗口里找到安全,然后里面有个EVERYONE用户,把下面的权限里的修改写入什么的勾上,完全控制就不需要了
無缺 2006-08-19
  • 打赏
  • 举报
回复
确实如starchange所言,我的文件系统是NTFS的.怪不得家里可以用,到公司就不行了.

但找不到相关的选项,能否再指点一下

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧