delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例
1、TClientDataSet控件
通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据。一般情况下,TClientDataSet 控件获取数据的方式主要有 3 种:从本地文件中获取、从本地的另外一个数据集对象中获取以及通过 IAppServer 接口来获取。
2.TDataSetProvider 控件
TDataSetProvider 控件基于数据集为应用程序中的其他控件提供数据, 并将对数据的更新传回数据集或数据集相关的数据库服务器。
3.TClientDataSet 控件与 TDataSetProvider 控件应用实例
在这里依旧使用delphi开发学习一中建立的工程Adotest,在工程ADOtest里新建窗体TCDatafrm,在窗体上添加
控件ADOQuery1,DataSetProvide1,ClientDataSet1,DataSource1,DBGrid1,Button1,
并设置其属性:ADOQuery1.connection =dlinkfrm.ADOConnection1;
DataSetProvide1.DataSet =ADOQuery1;
DataSource1.DataSet =ClientDataSet1,
DBGrid1.DataSource =DataSource1;
这些属性都可以在视图中直接选择设置,如下图所示:
通过以上控件的使用及其属性设置后,在“查询”按钮的单击事件里添加适当代码后就可以实现数据的查询与显示。以下代码为“查询”按钮的单击事件代码:
procedure TTCDatafrm.Button1Click(Sender: TObject);
begin
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM BASE_DATA');
ADOQuery1.open;
//将 DataSetProvide1 提供的数据传给 ClientDataSet1
ClientDataSet1.Data:=DataSetProvide1.Data;
end;
运行程序后,单击“查询”按钮,得到如下图所示的查询结果。
该例控件实现的功能与前文开发学习三中ADOQuery,DataSource控件实现的功能的结果相同。但在开发操作中由于将数据库操作封装在
类中,因此数据的查询与显示通过ADO控件和DataSource控件实现起来相对比较困难,所以一般可以通过TClientDataSet控件和TDataSetProvider控件进行中间数据的传递。
下面附上实例开发的源代码下载链接:
http://download.csdn.net/detail/u011846249/9029883
---------------------
作者:FreeSoar1
来源:CSDN
原文:https://blog.csdn.net/u011846249/article/details/47785251
版权声明:本文为博主原创文章,转载请附上博文链接!
delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例的更多相关文章
- 从零开始学ios开发(四):IOS控件(1),Image View、Text Field、Keyboard
长话短说,谢谢大家的关注,这篇写了好长时间,下面继续学习ios.我将用2到3篇的篇幅来学习iphone上的一些常用控件,包括Image View.Text Field.Keyboard.Slider等 ...
- IOS开发学习笔记019-动态创建控件
动态创建控件 一.按钮 二.文本输入框 三.lable标签 注意: 只是简单的拖拽控件会毁了你,所以最好还是手动通过代码创建控件. 如果要通过代码生成按钮的话,可以在系统自带的函数viewDidLoa ...
- <WP8开发学习笔记>修改panorama全景控件的标题的大小
panorama(全景)控件非常具有WinPhone特色,但是那个巨大的标题许多时候会让人觉得违和.怎么修改它呢? 最开始想到的是加一个FontSize,结果毫无影响.╮(╯-╰)╭ <phon ...
- Android Studio 学习笔记(三):简单控件及实例
控件.组件.插件概念区分 说到控件,就不得不区分一些概念. 控件(Control):编程中用到的部件 组件(Component):软件的组成部分 插件(plugin): 应用程序中已经预留接口的组件 ...
- Excel开发学习笔记:文件选择控件、查找匹配项、单元格格式及数据有效性
一个自用的基于excel的小工具. , ), .Cells(, )) sysKpiRow.Interior.ColorIndex = ).value = , ) ...
- Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发
一.标准CRUD使用 对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢? 我们先来看张图: 1.1 环境准备 这里用的环境就是Java开发学习(四十)----MyBa ...
- iOS项目开发实战——学会使用TableView列表控件(四)plist读取与Section显示
文本将会实现把数据存储到plist文件里.然后在程序中进行读取.在TableView控件中依据不同的类别显示Section. 有关TableView 的其它实现,请參考<iOS项目开发实战--学 ...
- Delphi编程之好用的三方控件
Delphi的强大与其庞大的组件库息息相关,目前的XE10.1版本已自带FastReport和GDI+等,下面我们来看一下几个非常强大且实用的组件库 一.DevExpress套件 Dev包含Grid. ...
- winform快速开发平台 -> 基础组件之分页控件
一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...
随机推荐
- c3p0 ComboPooledDataSource无法识别的问题
maven项目下,基本就是导错包了的问题. 下面那个才是连接池的.
- [BZOJ1974][SDOI2010]代码拍卖会[插板法]
题意 询问有多少个数位为 \(n\) 的形如 \(11223333444589\) 的数位值不下降的数字在\(\mod p\) 的意义下同余 \(0\). $n\leq 10^{18} ,p\leq ...
- 关于自动化测试框架,所需代码技能,Java篇——参数配置与读取.
前言: 说在前边.像我这种假期不出去浪,在这里乖乖写文章研究代码的人,绝壁不是因为爱学习,而是自己不知道去哪玩好,而且也不想玩游戏,看电视剧什么的,结果就无聊到看代码了…… 至于如何解读代码,请把它当 ...
- Kali Linux菜单中各工具功能大全
各工具kali官方简介(竖排):https://tools.kali.org/tools-listing 名称 类型 使用模式 功能 功能评价 dmitry 信息收集 whois查询/子域名收集/ ...
- [Java] Design Pattern:Code Shape - manage your code shape
[Java] Design Pattern:Code Shape - manage your code shape Code Shape Design Pattern Here I will intr ...
- monkey测试入门2--测试步骤、常用参数、常规monkey命令
<凤栖梧> 柳永 伫倚危楼风细细,望极春愁,黯然生天际.草色烟光残照里,无言谁会凭栏意? 拟把疏狂图一醉,对酒当歌,强乐还无味,衣带渐宽终不悔,为伊消得人憔悴. 简要步骤:adb devi ...
- Proe/Creo 零件库mnu文件制作批处理
proe零件库自定义时需要菜单文件mnu,百度了下网上还没有人制作,偶然间Google时在PTC论坛上看到一德国人分享了自己制作的bat文件用于对文件夹(及子文件夹)产生mnu文件,我在将他的文件翻译 ...
- RSA详解
RSA RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作.RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥 ...
- Shuffle Bags让你的随机不那么随机
前言 当我最初写游戏时,我经常使用标准Random()函数,然后写一堆if和else条件来我获得预期结果.如果结果不太好,我会写更多的条件进行过滤或者筛选,直到我觉得游戏变得有趣.最近我发现有更好的方 ...
- 2.2 Oracle之DML的SQL语句之多表查询以及组函数
一.SQL的多表查询: 1.左连接和右连接(不重要一方加(+)) SELECT e.empno,e.ename,d.deptno,d.dname,d.loc FROM emp e,dept d WHE ...