1

如何用delphi生成DBF文件?

更多信息:

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

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

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

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

4

5 回答 5

3

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

于 2009-12-05T05:05:36.600 回答
3

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

http://tdbf.sourceforge.net/

于 2009-12-05T11:03:09.003 回答
1

多年未处理!
根据您的 Delphi 版本和您想要做什么,您可以使用 BDE 或找到一些直接读取/写入 DBF 本机文件格式的专用组件。

于 2009-12-05T01:20:11.203 回答
1

虽然我没有使用它,但有一个组件jdDbf似乎是最近更新的,它似乎可以工作。需要注意的是 Dbf 格式有多种风格,但是大多数差异似乎都在索引文件中,因此如果您需要将它与另一个系统一起使用,您可能必须重新构建它们。

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

于 2009-12-05T01:54:37.943 回答
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;
于 2009-12-05T02:35:00.477 回答