0

我正在使用安装了 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 文件,但这没有任何改变。

Micrsoft Support 发布的这个页面没有解决问题:http: //support.microsoft.com/kb/175168

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

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

4

2 回答 2

0

尝试“创建表测试(id INT,评论 VARCHAR(30),主键(id))”

于 2013-04-04T23:06:15.940 回答
0

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

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

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

于 2013-04-10T13:03:38.697 回答