生成DBF文件

时间:2009-12-05 00:28:52

标签: mysql delphi portability dbf

如何使用delphi生成DBF文件?

更多信息:

我需要一个便携式数据库才能在pendrive中运行

我不知道DBF是否是更好的解决方案。

我喜欢MySql,但很难找到便携版

我目前正在使用XML,但我不知道如何进行查询。

5 个答案:

答案 0 :(得分:3)

如果您对其他格式持开放态度,我强烈建议您查看Firebird嵌入式。我很确定我的数据库和我的应用程序在两年前作为一个实验加载到闪存驱动器上并运行良好。我坚持使用DBF文件很长一段时间,但是一旦我进行了切换,我就永远不会回去了。如果您想尝试一下,请考虑使用DBExpress和Interbase驱动程序。虽然它没有得到官方支持,但我没有发现任何不兼容性。对于可视化管理工具,请获取IBExpert的个人版。

答案 1 :(得分:3)

TDBF似乎是最常用(并且仍然维护)的软件包之一:

http://tdbf.sourceforge.net/

答案 2 :(得分:1)

多年来没有处理过! 根据您的Delphi版本和您想要做的事情,您可以使用BDE或查找一些直接读/写为DBF本机文件格式的专用组件。

答案 3 :(得分:1)

虽然我没有使用它,但有一个组件jdDbf似乎最近更新了,看起来它可以正常工作。需要注意的是Dbf格式有很多种,但是大多数差异似乎都在索引文件中,所以如果你需要将它与另一个系统一起使用,你可能需要重建它们。

对于在USB驱动器上运行良好的嵌入式数据库,我会看一下SQLite。有一个Delphi实现DISQLite3,它有一个免费的专业版,可以很好地运行,强烈推荐。目前有许多商业质量程序正在使用它,包括FeedDemon之类的程序。

答案 4 :(得分:1)

哇,我很惊讶这个网址仍然有效!

如果要使用BDE API创建DBF,可以使用以下技术: http://info.borland.com/devsupport/bde/bdeapiex/dbicreatetable.html

但是,根据您将拥有的数据集的大小,这听起来像一个单用户应用程序,它可以正常使用“MyBase”文件 - TClientDataSet使用的文件的另一个名称。您可以通过简单地设置TClientDataSet.FileName属性将其保存为XML或二进制(CDS)格式,该属性将用于读取和写入数据集。您甚至可以使用此创建嵌套数据集。

如果您想拥有最有效的单用户模式,请关闭TClientDataSet上的ChangeLog。

procedure TFormCDSDataBug.ButtonOpenClick(Sender: TObject);
begin
  ClientDataSet1.FileName := ExtractFilePath(Application.ExeName) + 'MyData.cds';
  ClientDataSet1.LogChanges := False;
  ClientDataSet1.Open;
end;