如何在Delphi中访问DBF数据库

发布时间:2020-04-07 04:06:22 作者:wx5d39183e901c5
来源:网络 阅读:445

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

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

有各种各样的数据库引擎可以读取和操作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等等。

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

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

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

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

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

如何在Delphi中访问DBF数据库

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

如何在Delphi中访问DBF数据库

3、返回到“连接”选项卡,选择“DBF”作为提供程序,然后输入计算机上Visual FoxPro(或任何其他xBase数据库)的路径。单击连接。如果一切顺利,红色圆圈将变为绿色。

如何在Delphi中访问DBF数据库

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

如何在Delphi中访问DBF数据库

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

如何在Delphi中访问DBF数据库

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

如何在Delphi中访问DBF数据库

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

如何在Delphi中访问DBF数据库

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

如何在Delphi中访问DBF数据库

检索损坏的数据和元数据

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

另一个功能是当您不完全了解DBF文件的格式时(DBFFormat选项中的dfAuto值),可以自动确定xBase数据库的方言。

支持的目标平台

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


推荐阅读:
  1. Delphi中DataSource、ClientDataSe
  2. delphi数据库存储图片

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

unidac delphi dbf

上一篇:状态检测那些事儿

下一篇:常用Windows 强制删除文件方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》