操作必须是可更新的查询- VB脚本,悖论表



我使用的是安装了BDE Administrator和Access 2007的Win XP系统。我能够在现有的Paradox表上打开和执行选择查询,但在尝试INSERT/UPDATE时有一些非常奇怪的行为。我甚至可以创建一个新的悖论表,它具有相同的行为。下面是示例代码:

 ' 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驱动程序连接字符串,但都产生相同的结果。对于第二条插入语句,它抛出一个错误:

操作必须是一个可更新的查询

我在论坛和帮助网站的页面上读了很多帖子,告诉我这个错误是由文件权限问题引起的。运行此脚本的帐户是管理员组的一部分,我已经更改了文件权限,以允许Everyone组完全控制db文件,但这没有改变。

微软技术支持部门发布的这个页面没有解决这个问题:http://support.microsoft.com/kb/175168

此外,我可以创建一个新表,但每当我尝试创建一个PRIMARY KEY或UNIQUE字段时,我都会得到一个错误消息,说:

"Index_[随机字符]不是一个有效的名称。"

尝试"创建表test (id INT,注释VARCHAR(30),主键(id))"

我对Paradox数据库了解不多,但这确实是一次学习经历。尽管我有一个名为table.db的表文件,但它不足以存储一行以上的数据。我还需要几个其他文件来插入或更新paradox数据库:

table.DB
table.PX
table.VAL
table.XG0
table.XG1
table.YG0
table.YG1

我在另一个生成悖论数据库的程序中摸索,发现当我从它复制一个空白数据库以及它生成的这些其他文件时,我能够毫无问题地插入和更新。我不知道这些文件是什么,或者为什么他们需要在场插入或更新,但有他们在场解决了我的问题。

相关内容

  • 没有找到相关文章

最新更新