我计划远离BDE和dBase,因此,在实施某些应用程序时,我需要远离可能使转换更加困难的一切。例如,我想知道像TDBCtrlGrid这样的数据感知组件是否会以某种方式与BDE捆绑在一起。
答案 0 :(得分:5)
像TDBCtrlGrid,TDBGrid,TDBEdit等的Db感知组件应该可以使用比TQuery,TTable等更现代的TDataSet后代。所以你的q的答案是它们都是通用的。
Delphi的db-aware组件设计的重点在于它们使用的访问模型是从任何特定的数据集实现中抽象出来的,因此可以与任何TDataSet后代一起使用,因为TDataSet本身实现了一个抽象的数据访问模型。 / p>
Delphi的db-aware组件在从TDataSet中删除的两个步骤中工作,并通过TDataSource和TDataLink及其后代与它(或其任何后代)进行交互。所有数据交互都通过TDataLinks进行 - 请参阅DB.Pas中的源代码。
答案 1 :(得分:0)
简短回答是否定的:TDBCtrlGrid
与BDE无关。
TDBCtrlGrid
由"数据集"填充。或者,如果您愿意,可以使用TDataSet
,它是一个抽象类,提供处理数据的基本属性,事件和方法。
TDataSet
有很多实现,可以让你使用你想要的任何数据库引擎。
这里的文档是一些流行的TDataSet
实现:
TCustomADODataSet是访问其数据集的基类 使用ActiveX数据对象(ADO)的数据。 TCustomADODataSet后代 包括TADODataSet,TADOTable,TADOQuery和TADOStoredProc。 创建使用ADO的自定义数据集组件的开发人员 它们来自CustomADODataSet。
TIBCustomDataSet是直接访问的数据集的基类 InterBase表中的数据。 TIBCustomDataSet后代包括 TIBDataSet,TIBTable,TIBQuery和TIBStoredProc。开发人员 创建直接访问数据的自定义数据集组件 InterBase数据库派生自TIBCustomDataSet。
TCustomSQLDataSet是单向数据集的基类。 单向数据集是只允许的只读数据集 前进导航。 TCustomSQLDataSet后代包括 dbExpress数据集TSQLDataSet,TSQLQuery,TSQLTable和
TSQLStoredProc。创建自定义数据集组件的开发人员 使用dbExpress访问从TCustomSQLDataSet派生的数据。
TCustomClientDataSet是内存数据集的基类。客户 数据集可以处理磁盘上文件的数据或提供的数据 通过提供者的另一个组件。他们将这些数据缓存在内存中, 保留更改日志中任何更改的记录,并应用缓存 稍后更新回数据源。开发商 谁创建自定义数据集,将其数据存储在内存缓存中 派生自TCustomClientDataSet。
答案 2 :(得分:-2)
我会研究几个数据库,包括你目前使用的Delphi版本中的一些最新版本。如果您有最新版本,那么这包括Mongo。
为了提高生产力,Firedac非常好。它像ADO一样编码,表现几乎和GO一样好。
总的来说,我建议让Nick Hodges'预订并开始使用Spring4D。
如果这对你来说太深了,那么Firedac就是一个很好的起点。