将新的重新添加到DBF文件后,CDX文件不会更新

时间:2017-07-29 17:07:58

标签: visual-foxpro dbf

我想在dbf文件中添加一条新记录(文件名为STCRD.dbf)。我使用visual studio 2017添加了一条新记录>数据连接如下图所示。

enter image description here

添加新记录后,cdx文件(名称为STCRD.cdx)不会更新。我是视觉福克斯的新手。我仍然不知道更改cdx文件后,还应该更改dbf文件。有人能指出我在这种数据库中添加新记录的正确方法吗?

我发现一些link包含一些信息,但我无法理解发布pack命令的答案。

2 个答案:

答案 0 :(得分:2)

您可能需要查看有关使用VFP和OleDb连接的其他帖子。连接应指向文件所在的PATH,而不是单个文件名/ dbf / cdx / fpt。

所以你的连接字符串应该只指向

d:\工作\ Sirichai \ TNPSE

然后你的选择,插入,更新,删除只能参考表格,并且应该没有问题......

从STCRD中选择* ......

插入STCRD(fld1,fld2,fld3)值(?,?,?)

并参数化查询

答案 1 :(得分:1)

  

我是视觉福克斯的新手。 cdx文件后我还是不知道   更改后,dbf文件也应该更改。任何人都可以   指出了在这种情况下添加新记录的正确方法   数据库?

在VFP中,您可以创建一个数据表(DBF文件),您可以在其上创建关联的索引文件(CDX文件)。 类似的东西:

CREATE TABLE MyTable (field1 C(10), field2 M, Field3 D)
SELECT MyTable
INDEX ON field1 TAG firstfld  

也许在免费的在线VFP教程上花一些时间会有所帮助 Free On-line VFP tutorials

对数据表的修改(DBF文件 - STCRD.dbf)将自动触发'要更新的关联索引文件(CDX文件)。

创建ODBC连接时,您要对DBF文件(STCRD.dbf), NOT CDX文件执行此操作。一旦您的数据表'知道'关于其关联的索引文件,CDX文件行为是自动的'。您不能直接使用CDX文件。

我想,对我来说,目前还不清楚你想要完成什么。正确设置ODBC连接,然后清楚地解释您遇到问题的原因。

备注:DATABASE是一个容器(有些是智能'如M $ SQL Server),有些则不是(如VFP数据库),但它们本身就是非数据表。数据表可能存在也可能不存在于数据库中,但它是数据表(而不是数据库),数据记录在其中[']。

祝你好运