如何在Delphi中访问DBF数据库

xBase是全部源自原始dBase数据库格式(.dbf)的数据库的通用术语。该列表包括Visual FoxPro、Clipper、dBase III、dBase IV等。这些数据库被非正式地称为dBase克隆,由于它们是dBase的直接后代或模仿者。
数据库

xBase数据库将大量格式化数据以结构化形式存储在.dbf数据文件中。在相似dBase的数据库中,.dbf文件存储一个表,其中保留了表描述,字段描述符和记录。相似dBase的现代数据库还具备用于大型文本字段(备忘录)、命令、过程、备份等的文件。ide

有各类各样的数据库引擎能够读取和操做DBF文件中的数据,可是它们都不了解xBase数据库的全部格式——这些数据库引擎中的大多数均可以与xBase系列的一种或两种方言进行交互。与其余现有解决方案不一样,UniDAC中的Delphi数据访问提供程序TDBFUniProvider提供了一种引擎,该引擎能够理解许多相似dBase的数据库中的DBF文件。工具

UniDAC是一款通用数据库访问组件,提供了多个数据库的直接访问,如针对Windows的Delphi, C++Builder, Lazarus (以及 Free Pascal) , Mac OS X, iOS, Android, Linux和64和32位的FreeBSD等等。ui

TDBFUniProvider提供对xBase数据库的直接访问,并支持全部dBase本机数据类型(字符、数字、逻辑、数据、备忘录)。它用做SQL引擎,对数据库文件执行命令。项目中的Delphi代码被编译成可执行文件,不须要任何其余外部文件便可访问和操做DBF文件中的数据。spa

用于访问xBase数据库文件的UniDAC Delphi组件支持多种数据库文件格式:dBase III、dBase IV、dBase V、dBase VII、FoxPro二、Visual FoxPro、Clipper、CodeBase、HiPer-Six。除了容许开发人员使用标准的SQL-92语法外,它还提供了一种快速的方法来重建表并删除已删除的记录,以减少数据库文件的大小。3d

建立示例Delphi应用程序以访问xBase数据库orm

咱们将建立一个简单的Delphi应用程序,该应用程序将以Visual FoxPro格式链接到数据库,并在单击“显示”按钮时显示表中的记录。对象

一、在“工具选项板”中找到TUniConnection、TUniQuery、TUniDataSource、TDBFUniProvider、TDBGrid和TButton组件,并将它们放在表单上。blog

UniDAC使用教程:如何在Delphi中访问DBF数据库

二、双击表单上的UniConnection1组件。切换到“选项”选项卡,而后将“直接”设置为True。教程

UniDAC使用教程:如何在Delphi中访问DBF数据库

三、返回到“链接”选项卡,选择“DBF”做为提供程序,而后输入计算机上Visual FoxPro(或任何其余xBase数据库)的路径。单击链接。若是一切顺利,红色圆圈将变为绿色。

UniDAC使用教程:如何在Delphi中访问DBF数据库

四、在UniDataSource1中,将DataSet属性设置为UniQuery1。

UniDAC使用教程:如何在Delphi中访问DBF数据库

五、选择DBGrid1并将DataSource属性设置为UniDataSource1。

UniDAC使用教程:如何在Delphi中访问DBF数据库

六、选择UniQuery1组件并将Connection属性设置为UniConnection1,而后双击该组件并输入SQL语句。单击肯定。

UniDAC使用教程:如何在Delphi中访问DBF数据库

七、将按钮的“标题”属性更改成“在对象检查器中显示”。双击按钮,切换到“代码”选项卡并添加UniQuery1.Open; 到OnClick事件处理程序代码。

55dbf_delphi_onclick2.png

八、按F9编译并运行您的应用程序。若是程序编译没有错误,则应该看到已编译的表单应用程序。单击显示以获取并查看Visual FoxPro表中的数据。

UniDAC使用教程:如何在Delphi中访问DBF数据库

检索损坏的数据和元数据

xBase方言历史悠久,.dbf文件中的字段包含不受支持的类型的数据的状况并不罕见。要解决任何不受支持的数据类型的问题,UniDAC提供了两个选项:IgnoreDataErrorsIgnoreMetaDataErrors。前一个选项在打开DBF表时强制UniDAC忽略损坏的数据错误,然后一个选项使UniDAC忽略元数据错误:当两个选项都设置为True时,将跳过损坏的数据,并正确地检索其余数据。

另外一个功能是当您不彻底了解DBF文件的格式时(DBFFormat选项中的dfAuto值),能够自动肯定xBase数据库的方言。

支持的目标平台

UniDAC支持多个目标平台:您能够建立一个访问DBF数据库的应用程序,用于:

  • Windows,32位和64位

  • macOS,32位和64位

  • iOS,32位和64位

  • Android,32位和64位

  • Linux,32位和64位

相关文章
相关标签/搜索