根据http://www.delphigroups.info/2/3/181838.html(archive)
ADO组件的首选方法是使用TADODataSet和TADOCommand。为了兼容性,提供了TADOQuery(以及TADOTable和TADOStoredProc)。
对返回结果集的SQL使用TADODataSet,对不返回结果集的SQL使用TADOCommand。
我是一个毫无头绪的初学者,谁是即将编码的大量ADO的东西。是上述声明正确吗?
有没有什么好的开源Windows程序可以让我可视化和探索我的数据库的内容?
我应该使用哪些组件来执行不返回结果的操作?
5条答案
按热度按时间f2uvfpb91#
TADODataset和TADOCommand是本机ADO对象的直接接口,可以执行其他三个对象所做的所有任务,它们的存在是为了简化为BDE(Borland数据库引擎)编写的移植应用程序,实现了类似的接口-它们最终调用前两个。
txu3uszq2#
我将走一半相反的路!- )
在某些情况下,TADOQuery可能适合两个作业。如果您的查询将导致数据使用
TADOQuery.Acvite := True
,如果您需要执行update\insert\delete使用TADOQuery.ExecSQL.
例如,您可以编写一个查询UPDATE\ INSERT和SELECT记录,并在一个组件中执行,而不是引入两个组件。
只是一个例子,现在写的。我希望你得到的想法。
l0oc07j23#
SqlBuddy是一个开源的数据库开发工具。
yptwkmov4#
根据SQL对象的性质(TADOTable、TADOQuery和TADOStoredProc)或操作/结果(TADODataSet和TADOCommand),这里有2种不同的分类。
历史上的 Delphi 方法更多的是第一种,而ADO本质上更多的是第二种。
这两种方法都很有用,这取决于你想做什么。
我推荐你阅读Delphi中关于ADO组件的帮助。
例如,您会发现有用的注解,如:ADOdb.TADODataSet和SQLExpr.TSQLDataSet具有CommandType属性,可用于指定它们是表示表、查询还是存储过程。属性和方法名称与查询类型数据集最相似,但TADODataSet可用于指定类似于表类型数据集的索引。
如果您确定坚持使用ADO,并且永远不需要更改和移植到其他数据层,那么使用TADODataSet和TADOCommand走“ADO路线”。
你将得到最多的ADO与它,它将更容易使用MS文档和例子。
uoifb46i5#
SELECT语句
用于发出返回数据集的DQL语句(例如SELECT)
*TADOQuery
*TADODataSet
*TADOCommand
ADOCommand将返回一个本机ADO I。您可以直接使用
Recordset
接口(这并不难),或者您可以将其 Package 在友好的 Delphi Package 器类中:或
INSERT,UPDATE,DELETE语句
用于发出不返回数据集的DML语句(例如INSERT、UPDATE、DELETE)
*TADOQuery
*TADOCommand
*TADODataSet:无法执行此操作。如果语句未返回任何数据集,则TADODataSet将引发异常
图表表单
继承层次
TCustomADODataSet(将ADO暴露为DataSet)*
TADODataSet(无法下发DML)*
TADOQuery(可下发DML和DQL)*
TADOCommand是最接近发出原始查询的金属。
TADODataSet和TADOQuery使用 Delphi 现有的数据库对象模型公开ADO数据源
TADODataSet只能表示数据集
TADOQuery是万能的,可以做任何事情。