我的需求
我使用Delphi/C++ Builder XE2。
我至少需要访问以下 DBMS :
我需要在数据感知的可视控件中显示和编辑数据。 数据可以驻留在这些DBMS的任何上,我将在外部文本文件上配置连接属性和SQL语句。
因此,我正在寻找一组用于数据库访问的组件,它支持此类DBMS并具有性能良好,类似于旧的Paradox表。
我的猜测
我到目前为止发现的
TDatabase
,TTable
...)不推荐使用。
TSQLConnection
,TSQLTable
...)替换BDE单向数据集(光标仅向前移动;不将数据缓存在内存中,这样的数据集无法显示在DBGrid中;要使用dbExpress构建用户界面,您将需要使用另外两个组件:
TDataSetProvider
和TClientDataSet
)使用 native 驱动程序(HANA则不使用)或ODBC。
TADConnection
,TADTable
...)这是AnyDAC的延续;使用 native 驱动程序(HANA则不使用)或ODBC或dbExpress。
不免费;使用 native 驱动程序(HANA则不使用)或ODBC或“DB Client”。
不是免费的。
TZConnection
,TZQuery
...)开源;从JDBC到Object Pascal的端口开始;不提供与数据感知可视控件的绑定(bind)。
TADOConnection
,TADOTable
...)实现ADO(因此基于ODBC的OLE DB)。有许多怪癖,例如在查询中重复使用相同名称的参数。
TJvQuery
,TJvBDESQLScript
...)相应标准库的增强。
TJvADODataset
,TJvADOQuery
...)相应标准库的增强。
(随时增强此列表)
所以我的选择是:
最佳答案
如果您使用的是XE2,则建议使用dbExpress。
如果您使用的是XE3或更高版本,则建议使用FireDAC。
我知道FireDAC可以与XE2一起使用,但是我不确定是否有任何问题。