ADODataSet与ADOQuery的区别
ADODataSet组件
此组件功能是非常强大的,通过ADODataset,可以直接与一个表进行联接,也可以执行SQL语句,还可以执行存储过程,可以说集ADOTable、 ADOQuery、 ADOStoreProc三者的功能于一身。在使用时,首先设定其Connection属性为ADOConnection组件,没有 ADOConnection组件就直接设定ConnectionString属性。接下来有两个重要属性CommandType与 CommandText,这两个属性相互关联的。CommandType决定采用何种方式如存储过程、数据表还是其他等等,一旦设定了 CommandType,CommandText属性就可以相应设定了。比如设定CommandType为cmdTable,那么CommandText 就会列出所有的数据表供选择,如果选择CommandType为cmdStoredProc,则CommandText将会列出所有的存储过程供选择,如 果选择CommandType为cmdText,那么单击CommandText属性后的省略号将会打开“CommandText Editor”,在这里其实就是让用户编写SQL语句的,此窗体提供了数据表列表及数据表中字段列表,给用户提供了方便,使得编写SQL语句更容易。如果 你对写SQL语句比较熟悉的话根本无需其帮助,还不如自己手写的快。设定完这些属性最后设定其Active属性为True即可,如果有参数请在属性中设定 一下。此组件和DataSource相连后就可DbGrid等组件中显示。
ADOCommand组件
此组件有CommandType与CommandText两个重要属性,属性的设定方法和上面的ADODataSet组件相同。不过此组件不是数据集组 件,所以无法和DataSource组件相连,设定属性好之后可以用其ExecSQL方法执行。此组件有什么用途呢?因为ADO本身有Command对 象,所以估计Delphi为了把这种对象对应于VCL才引入的ADOCommand,它只是提供了另外一种操作方式而已,它主要用于数据定义操作,所以此 组件并不常用,而且大部分功能都可以通过别的组件进行,一般用途并不太大。
----
ADO存取技術元件幾乎是采用一對一的方式來封裝原生的ADO物件﹐TADODataSet元件了ADO的RecordSet物件﹐并且提供了和 Delphi的資料感知元件連結的能力﹐TADODataSet元件的CommandType特性代表了TADODataSet封裝的RecordSet 物件會執行什么形態的命令﹐我們可以把TADOTable元件看作是封裝設定CommandType為cmdTable的RecordSet物件﹐把 TADOStoredProc元件看作是封裝設定CommandType為cmdStoredProc的RecordSet物件﹐但對于 ADOCommand﹑ADOQuery元件來講還是有一些些區別﹒
可以把TADOQuery元件看作是封裝設定CommandType為cmdText的RecordSet物件﹐但若使用TADODataSet元件﹐其 所使用的SQL敘述必須是有回傳資料的語法(如Select等)﹐其不支援無回傳資料的語法(如Insert, Delete, Update等)﹐而TADOQuery元件無此限制﹐可使用有回傳資料和無回傳資料的語法﹒
而TADOCommand元件也是使用SQL語言的元件﹐但其和TADODataSet元件的不同之處在于其只能使用于資料定義語言(Data Definition Language)和無回傳資料的SQL語法﹐其作用在于TADOCommand元件使用的資源較少﹐如果ADO應用程式中有經常需要執行不回傳資料的 SQL敘述時﹐使用TADOCommand元件可得到較好的效率﹒另外需要說明的一點是在TADOCommand元件中使用有回傳資料的SQL語法并不是 不可以﹐只是必須再搭配一個ADO的資料集元件才可以接受由TADOCommand回傳的結果資料﹐所以不如直接使用ADOQuery或 ADODataSet來得節省資源﹒
ADODataSet与ADOQuery的区别的更多相关文章
- Delphi中使用ADO连接Excel
第一部分: . 设置ADOConnection的ConnectionString属性的OLE DB的提供者要选择Microsoft Jet 4.0 OLE DB Provider(这本来是用于连接Ac ...
- Delphi数据库处理
Delphi数据库处理 第一节 BDE.ADO.InterBase和dbExpress Delphi中处理数据库主要有两种方法,也就是BDE.ADO,从Delphi 6.0开始还加入了一种dbExpr ...
- adoquery.refresh和adoquery.query的区别
大的区别没有 1: requery是通过重新发出原始命令并再次检索数据,可使用 Requery 方法刷新来自数据源的 Recordset 对象的全部内容.调用该方法等于相继调用 Close 和 Ope ...
- 序列化ADODataSet, ADOQuery
经过昨天晚上一折腾把做了一个DIOCP直接传递TADOQuery的Demo,在google上找了一系列的资料. 这样服务端可以直接将TADOQuery查询出来的数据直接转换成TStream自己进行传递 ...
- Requery,Refresh,Adoquery.Close,Open 区别
经过测试发现: Requery 相当于 Adq.Close,Open:并且比Close,Open方法有个优点就是不丢失排序,Sort Adq.Close,Open 后,原来的 Adq.Sort 会丢失 ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- 【原】nodejs全局安装和本地安装的区别
来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...
- 探究@property申明对象属性时copy与strong的区别
一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...
随机推荐
- DHT11温度传感器应用电路
DHT11应用电路: 注意点: Vcc和GND之间连接一个100 μF的一个电解电容(通常电容的取值在100μF-300μF之间,滤波) SWI接一个5K的上拉电阻,目的是增强驱动能力
- 【Codeforces Round 1117】Educational Round 60
Codeforces Round 1117 这场比赛做了\(A\).\(B\).\(C\).\(D\).\(E\),\(div.2\)排名\(31\),加上\(div.1\)排名\(64\). 主要是 ...
- docker命名空间、控制组及联合文件系统概念
基本架构 命名空间 控制组 联合文件系统 docker底层依赖的核心技术主要包括操作系统的命名空间(Namespace).控制组(Control Groups).联合文件系统(Union File S ...
- 修改windows7本地策略--不能挂载磁盘和复制 -- 黏贴板-驱动器映射
1.gpedit.msc -- > 计算机配置-- > 管理模板 -- > windows 组件 -- > 远程桌面服务 -- > 远程桌面服务主机 -- > 设备 ...
- IntelliJ IDEA 常用设置 (二)
一. 代码提示和补充功能有一个特性:区分大小写. 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer IntelliJ IDEA 是不会帮我们提示或是代码补充的, ...
- ueditor保存出现 从客户端(Note="<p>12345</p>")中检测到有潜在危险的 Request.Form 值
检测到有潜在危险的 Request.Form 值 这种问题是因为你提交的Form中有HTML字符串,例如你在TextBox中输入了html标签,或者在页面中使用了HtmlEditor组件等,解决办 ...
- odoo 装饰器用法@api
摘自:blog.csdn.net/cmzhuang/article/details/52932883 @api.one one装饰符自动遍历记录集,把self重新定义成当前记录.注意,返回值是一个li ...
- LiveCharts文档-3开始-7标签
原文:LiveCharts文档-3开始-7标签 LiveCharts文档-3开始-7标签 Label就是Chart中表示数值的字符串,通常被放置在轴的位置和提示当中. 下图中的这些字符串显示的都是标签 ...
- Excel 中批量处理数据(改成 json 格式)
如下excel: 需要处理成下面的效果: 方法: 在 C2 中输入公式: ="{"""&"code"&"" ...
- Linux lsof 命令
lsof(list open files)是一个查看进程打开的文件的工具. 在 linux 系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以 lsof 命令不仅可以查 ...