我想在dbf文件中添加一条新记录(文件名为STCRD.dbf)。我使用visual studio 2017添加了一条新记录>数据连接如下图所示。
添加新记录后,cdx文件(名称为STCRD.cdx)不会更新。我是视觉福克斯的新手。我仍然不知道更改cdx文件后,还应该更改dbf文件。有人能指出我在这种数据库中添加新记录的正确方法吗?
我发现一些link包含一些信息,但我无法理解发布pack命令的答案。
答案 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数据库),但它们本身就是非数据表。数据表可能存在也可能不存在于数据库中,但它是数据表(而不是数据库),数据记录在其中[']。
祝你好运