操作必须是可更新的查询 - VB Script, Paradox Table
Posted
技术标签:
【中文标题】操作必须是可更新的查询 - VB Script, Paradox Table【英文标题】:Operation must be an updateable query - VB Script, Paradox Table 【发布时间】:2013-04-04 09:03:45 【问题描述】:我正在使用安装了 BDE 管理员和 Access 2007 的 Win XP 机器。我能够毫无问题地打开现有 Paradox 表并执行选择查询,但在尝试 INSERT/UPDATE 时有一些非常奇怪的行为。我什至可以创建一个新的 Paradox 表,它具有相同的行为。这是示例代码:
' create new table
conObj.Execute "CREATE TABLE test (id INT, comment VARCHAR(30))"
' first insert works fine
conObj.Execute "INSERT INTO test VALUES (1, 'something')"
' second insert fails for unknown reason
conObj.Execute "INSERT INTO test VALUES (2, 'something else')"
我尝试过使用 Jet 4.0、MS Access Paradox 驱动程序和本机 Paradox 驱动程序连接字符串,但都产生了相同的结果。在第二个插入语句中,它会引发错误:
操作必须是可更新的查询
我在帮助网站的论坛和页面上阅读了大量帖子,这些帖子告诉我这个错误是由文件权限问题引起的。运行此脚本的帐户是管理员组的一部分,我已更改文件权限以允许所有人组完全控制 db 文件,但这没有任何改变。
微软支持发布的这个页面没有解决问题:http://support.microsoft.com/kb/175168
此外,我可以创建一个新表,但每当我尝试创建 PRIMARY KEY 或 UNIQUE 字段时,我都会收到一条错误消息:
“索引_[随机字符] 不是有效名称。”
【问题讨论】:
【参考方案1】:试试 "CREATE TABLE 测试(id INT,注释 VARCHAR(30),主键(id))"
【讨论】:
我确实尝试过。不幸的是,当我在任何情况下尝试创建主键或唯一字段时,都会引发某种类型的错误。【参考方案2】:我对 Paradox 数据库了解不多,但这确实是一次学习经历。即使我有一个名为 table.db 的表文件,也不足以存储多行数据。我还需要其他几个文件来插入或更新 paradox 数据库:
table.DB
table.PX
table.VAL
table.XG0
table.XG1
table.YG0
table.YG1
我在另一个生成悖论数据库的程序中四处寻找,发现当我从中复制一个空白数据库以及它生成的其他文件时,我能够毫无问题地插入和更新。我不知道这些文件是做什么用的,也不知道为什么它们需要存在才能插入或更新,但让它们存在解决了我的问题。
【讨论】:
以上是关于操作必须是可更新的查询 - VB Script, Paradox Table的主要内容,如果未能解决你的问题,请参考以下文章