Delphi10.4使用FireDAC数据访问组件开发数据库软件学习开发教程(1)
数据库访问是Delphi / C ++ Builder的专长。最新版本的Delphi / C ++ Builder支持使用称为FireDAC的通用数据库访问组件访问各种数据源。因此,在此博客中,我将向一定程度上使用Delphi / C ++ Builder的用户解释FireDAC的基本用法。欢迎加入Delphi开发局QQ群:32422310 Delphi控件源码下载网站
第一个主题
- 什么是数据库访问
- Delphi / C ++ Builder中可用的数据库组件
- 为什么选择FireDAC
什么是数据库访问
最近,许多公司都在强烈考虑在家办公,因此对远程办公的需求也在不断增加。将来,转向或安装允许在家中安全访问的云系统的公司数量预计会增加。
支持云系统背景的数据库是系统中最重要和必不可少的部分。
数据库访问是一种用于从应用程序连接到数据库的数据访问技术,并且具有在以任何计算机语言进行开发时访问数据库的方式。
库,访问方法等提供了数据库访问。通过使用这些,可以创建连接到数据库的应用程序。
例如,在常规Windows应用程序中广泛使用的ODBC和ADO,在Java平台上的JDBC和在Microsoft .NET Framework上的ADO.NET是数据库访问的类型之一。
Delphi / C ++ Builder中可用的数据库组件
Delphi / C ++ Builder源码下载有一个用于访问数据库的库,称为“数据库(访问)组件”。但是,在这里,为了方便起见,该名称称为“ DB组件”。
Delphi / C ++ Builder可以使用以下类型的数据库组件,包括从FireDAC之前的版本准备的数据库组件。
BDE
dbGo(旧ADOExpress)
dbExpress
IBExpress
*不包括第三方产品。
Delphi / C ++ Builder提供的DB组件具有以下功能。
- 只需将数据库组件放在低代码开发表单上并实现属性更改和所需的事件,就可以使用较少的代码访问数据库组件。
- 可以通过单个API进行访问
不必为每个连接的数据库实现单独的代码,并且可以将相同(单个)代码用于数据库访问 - 多数据库支持支持
访问各种数据库,包括Oracle,MSSQLServer,DB2,PostgreSQL,MySQL,SQLite和InterBase
我已经简要总结了上面列出的数据库组件的当前功能。
数据库组件名称 |
IBExpress |
dbGo |
dbExpress |
BDE |
---|---|---|---|---|
Embarcadero支持状态 |
○ |
* 1 |
* 1 |
× |
多数据库支持 |
仅InterBase |
* 3 |
○ |
* 2 |
多平台兼容 |
○ |
仅Windows |
○ |
仅Win32 |
支持最新的数据库版本 |
仅InterBase |
* 3 |
× |
× |
与BDE的兼容性 |
× |
× |
× |
-- |
表1:不包括FireDAC的数据库组件功能列表
如上表所示
- 对产品本身的支持已经终止
- 执行环境仅限于Windows,Win32等。
- 不支持最新的数据库版本
例如,即使您在过去的Delphi / C ++ Builder版本中成功使用了DB组件,如果您迁移到最新版本的Delphi / C ++ Builder,它也不能满足您当前的执行环境和需求。将是一个阻碍因素。
当然,只要在有限的条件下,不将最新的数据库版本仅用于将使用过去的Delphi / C ++ Builder版本创建的项目迁移到Windows 10,就可以使用某些数据库组件。 ..
但是,BDE并非如此,目前尚不完全支持。您需要迁移到另一个数据库组件。但是,当考虑从BDE迁移到另一个数据库组件时,我不建议这样做,因为上面没有合适的选项值得进行迁移。
为什么选择FireDAC
另一方面,FireDAC最初是企业数据访问组件,其目的是替代BDE。
它最初是由DA-SOFT出售的DB组件,名称为“ AnyDAC”,被Embarcadero Technologies收购,并与Delphi / C ++ Builder XE5成为标准配置,其名称为“ FireDAC”。再一次,我们将到达现在。
FireDAC(AnyDAC)具有以下功能。
- 多数据库支持
访问各种数据库,包括Oracle,MSSQLServer,DB2,PostgreSQL,MySQL,SQLite,InterBase,甚至是最新的数据库版本。 - 支持广泛的目标平台
Win32,Win64,macOS,iOS,Android,Linux等。 - 与
BDE的兼容性类似的数据访问体系结构,易于从BDE迁移 - 高性能数据访问
执行性能等于或优于BDE
下表总结了当前的Delphi / C ++ Builder(包括FireDAC)中可用的DB组件的功能。
数据库组件名称 |
IBExpress |
dbGo |
dbExpress |
BDE |
FireDAC |
---|---|---|---|---|---|
Embarcadero支持状态 |
○ |
△※ |
△※ |
× |
○ |
多数据库支持 |
仅InterBase |
△※ |
○ |
△※ |
○ |
多平台兼容 |
○ |
仅Windows |
○ |
仅Win32 |
○ |
支持最新的数据库版本 |
仅InterBase |
△※ |
× |
× |
○ |
与BDE的兼容性 |
× |
× |
× |
-- |
○ |
*有关△的详细信息,请参阅表1。
表2:包括FireDAC的数据库组件的功能列表
FireDAC具有与现有数据库组件相同的功能,但支持多种目标平台和最新数据库版本。FireDAC是最适合迁移的数据库组件,尤其是在构建使用较旧版本的BDE的应用程序时,因为FireDAC与BDE兼容且具有很高的亲和力。
下一节中,我将解释FireDAC的基本开发方法。
Delphi10.4使用FireDAC数据访问组件开发数据库软件学习开发教程(1)相关推荐
- idata 数据访问组件库 (2021版)
idata数据访问组件库(RX11)版本: 2022-09-20 下载: idata 数据组件库 for RAD Studio RX10.3.x (260) 发布于:2020-02-20 使用 ...
- 转:Firebird 数据访问组件 (Delphi)
转自:http://www.faceker.com/200809/firebird-data-access-components.html 在 Delphi 下可访问 Firebird 数据库的组件非 ...
- bde怎么配置oracle数据库,Oracle数据访问组件ODAC教程:如何从BDE和DOA迁移
ODAC(Oracle Data Access Components )是一个Oracle数据访问组件.ODAC可以为Oracle提供本地连接(Delphi, Delphi for .NET, C++ ...
- 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能...
下期预告: 由于很多园友反馈,有的组件不应该缺席.测试复杂度不够.测试还缺乏一定的公平. 因此考虑在下一个版本中,确保在更加公平的前提下进行更高复杂度的测试 . 同时将分为2组测试,纯SQL组件及纯O ...
- 微软提供的数据访问组件SqlHelper
数据访问组件是一组通用的访问数据库的代码,在所有项目中都可以用,一般不需要修改.本节使用的是Microsoft提供的数据访问助手,其封装很严密,且应用简单. 首先要先添加一个类,并命名为SqlHelp ...
- win10安装sql server2000卡住在“安装程序正在安装 Microsoft 数据访问组件 (MDAC)...
win10安装sql server2000卡住在"安装程序正在安装 Microsoft 数据访问组件 (MDAC)...",这个问题之前遇到过几次,每次处理的结果都是大同小异,现在 ...
- 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能
"啊!你在用ORM?会不会性能很差啊?" 用数字来说话,打破模糊的.传言的印象. 标题提到的组件"增删改查"都实现了测试代码,所以除了测试外,也可以把此项目作为 ...
- mysql ormlite_GitHub - loogn/Loogn.OrmLite: Loogn.OrmLite是一个简单、高效的基于.NET的数据访问组件!...
简要 Loogn.OrmLite是一个超简单.超高效.超灵活的基于.net standard 2.0的数据访问组件! 特点 支持sqlserver.mysql.sqlite3数据库: 通过扩展方法扩展 ...
- [wayfarer]PetShop数据访问层之数据库访问设计
原文地址: http://www.cnblogs.com/wayfarer/archive/2006/04/21/381315.html <解剖PetShop>系列之二 二.PetShop ...
最新文章
- 操作系统学习笔记 第五章:文件管理(王道考研)
- 更新elementui图标不显示_超简单elementui主题及变量修改方案
- CentOS 5.X 开机启动流程
- 通过一段代码说明C#中rel与out的使用区别
- cad在哪里设置图幅大小_一看就懂!菜鸟也能快速入门CAD,关键掌握这4个诀窍...
- Nacos源码主动健康检测
- 手撸移动端轮播图(内含源码)
- python udp创建addr_一篇文章搞定Python 网络编程之UDP协议
- 技嘉z77主板msata速度_功不可没的技嘉Z77主板_主板评测-中关村在线
- 机器学习 - [源码实现决策树小专题]决策树中子数据集的划分(不允许调用sklearn等库的源代码实现)
- LEWITT莱维特STREAM4x5、DGT260声卡安装调试教程
- C++ 中cin的输入原理及字符串(string、char[])输入问题
- 动画程序时长缩放是什么意思_Premiere视频剪辑教程8:PR关键帧动画,让你的图片和文字动起来...
- 高通 lcd dtsi
- [转帖]三星F488E的JAVA安装方法
- etl工程师 面试题_面试ETL题总汇
- 桌面快捷图标左下角有蓝色问号解决方法
- android更新版本报:SDK Platform Tools component is missing!
- ouster-32激光雷达实测:ROS驱动编译使用与设备连接的网络配置
- PDF的简单应用查找、保存、查看
热门文章
- 真无线蓝牙耳机排名前十的品牌,公认佩戴舒适性好的蓝牙耳机分享
- VScode 淡绿色界面
- Linux之创建组名和删除组名
- ISO 认证是哪三个?
- 日常猜幸运数字小游戏
- Python Flask,Jinja2模板,模板中使用特殊变量及函数,闪现信息,get_flashed_messages()
- java jmf获取图像_用JMF打开摄像头获取图像
- [转贴]请珍惜你身边爱你的人
- linux文件操作命令包括,学习Linux命令之最基本的文件操作
- AI大事件 | 谷歌的计算引擎鸟枪换炮用上了更快的GPU,基于Python的亚马逊AWS深度学习AMI