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

时间:2013-04-04 09:03:45

标签: vbscript bde paradox

我正在使用安装了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驱动程序连接字符串,但都产生相同的结果。在第二个插入语句中,它会抛出一个错误:

操作必须是可更新的查询

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

Micrsoft支持推出的此页面无法解决问题:http://support.microsoft.com/kb/175168

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

“Index_ [随机字符]不是有效名称。”

2 个答案:

答案 0 :(得分:0)

试 “CREATE TABLE test(id INT,comment VARCHAR(30),primary key(id))”

答案 1 :(得分:0)

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

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

我在另一个生成paradox数据库的程序中蠢事,发现当我从中复制一个空白数据库以及它生成的其他文件时,我能够插入和更新没有问题。我不知道这些文件是针对什么的,或者为什么它们需要出现才能插入或更新,但是让它们出现在我的问题上。