kbmMW实现sql查询(图文并茂)
kbmMW对于Delphi来说,是最好的多层框架,没有之一,无论是效率、稳定及架构都让人无可挑剔,尤其自Delphi支持跨平台开发以来,随着Delphi支持ios及Android移动开发,KbmMW也紧随其后,经过几个版本的演变与改进,现在已经成熟,从而成为Delphi下支持移动开发最好的多层框架。
不信,那一起来看一下如何做一个普通的数据查询任务,在客户端得到一个数据集TDataSet?
按下图,拖放对应的控件到界面,设置相关的属性,对于kbmMW数据查询来说,只要放四个控件:
1. ClientTransport:这里我们用kbmMWTCPIPIndyClientTransport1,他负责与服务器通讯。
设置Host及Port,指向服务器
2. ClientConnectionPool:实现线程池来管理ClientTransport,这里我们用kbmMWClientConnectionPool1,同时设置Transport,指向kbmMWTCPIPIndyClientTransport1
3. StreamFormat:再放一个StreamFormat,用来设置数据格式,这里放kbmMWBinaryStreamFormat:,用二进制格式
4. ClientQuery:这是一个数据集控件,可以执行SQL并返回结果,同ADOQuery一样的。
放一个按钮,让ClientQuery执行指定的SQL,为了说明上面四个组件的属性关系,代码中我特意写出来。
procedure TForm85.Button1Click(Sender: TObject);
begin
kbmMWTCPIPIndyClientTransport1.Host:=Edit1.Text;
kbmMWTCPIPIndyClientTransport1.Port:=Edit2.Text.ToInteger;
kbmMWClientConnectionPool1.Transport:= kbmMWTCPIPIndyClientTransport1;
kbmMWClientQuery1.TransportStreamFormat:=kbmMWBinaryStreamFormat1;
kbmMWClientQuery1.QueryService:='djwkQueryService';
kbmMWClientQuery1.QueryServiceVersion:='1.0';
kbmMWClientQuery1.Query.Text:=Edit3.Text;
kbmMWClientQuery1.Open;
end;
下图为运行后的结果,将ClientQuery查询结果显示到StringGrid中:
这是在win32下运行的截图,实际上,这个例子可以直接编译到ios,Android平台并运行,是不是简单,就这样跨平台了。
不管你是Delphi老手还是新手,当我们能够在客户端轻松取得TDataset时,Delphi应用的开发就变的简单与高效了。
事实情况还不仅如此,接下来,基于上面的例子,还可以轻松实现对TDataSet的增、删、改操作的数据提交,还可以在事务中一次提交多个TDataSet,有了kbmMW,世界变的如此简单。
这是上面例子的源代码,可以下载看看。
为了能够快速上手kbmMW,我做了通用的kbmMW Server,并经过高并发情况下,长时间的压力测试。如果需要,可联系QQ:1255744412。
http://blog.sina.com.cn/s/blog_44fa172f0102wkuc.html
kbmMW实现sql查询(图文并茂)的更多相关文章
- KbmMW两种查询结果集通讯方式
KbmMW本身可以用QueryService的方式进行远程数据查询,但是SmpileService同样具有很强的扩展性可以实现数据查询,下面展示两种基于SmpileService的远程数据查询方法,其 ...
- SQL常见优化Sql查询性能的方法有哪些?
常见优化Sql查询性能的方法有哪些? 1.查询条件减少使用函数,避免全表扫描 2.减少不必要的表连接 3.有些数据操作的业务逻辑可以放到应用层进行实现 4.可以使用with as 5.使用“临时表”暂 ...
- 记一个简单的sql查询
在我们做各类统计和各类报表的时候,会有各种各样的查询要求.条件 这篇主要记录一个常见的统计查询 要求如下: 统计一段时间内,每天注册人数,如果某天没有人注册则显示为0 现在建个简单的表来试试 建表语句 ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- MySQL GROUP_CONCAT函数使用示例:如何用一个SQL查询出一个班级各个学科第N名是谁?
如何用一个SQL查询出一个班级各个学科第N名是谁? 首先贴出建表语句,方便大家本地测试: -- 建表语句 CREATE TABLE score ( id INT NOT NULL auto_incre ...
- SQL查询第m条到第n条的方法
SQL查询第m条到第n条的方法 如表名为GOOD Sselect top (n-m) * from GOODS where (某一列名) not in (select top m (某一列名) fro ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
- slick for play 使用原生sql查询以及拼接sql
在play中用函数式框架slick来操作数据库是一件很爽的事情.但有时因为某些特殊场景又不得不用原生的sql了. 还好slick支持这种写法,可以看看slick官方文档,Slick Plain SQL ...
- SQL查询每个表的字段数量
--SQL查询每个表的字段数量select b.[name], count(*) As AllCount,ISNULL(ISNULL(sum(case when isnullable=0 then 1 ...
随机推荐
- 算法复习——凸包加旋转卡壳(poj2187)
题目: Description Bessie, Farmer John's prize cow, has just won first place in a bovine beauty contest ...
- 【强化学习】百度云BCC openai gym 环境配置
openai gym是RL算法的测试床.为了直观和便于调试,我们需要可视化界面.然而远程服务器使用openGL的问题比较棘手,这篇博客记录在百度云BCC上配置openai gym环境的注意事项. 按照 ...
- 【Tomcat】使用tomcat manager 管理和部署项目,本地部署项目到服务器
在部署tomcat项目的时候,除了把war文件直接拷贝到tomcat的webapp目录下,还有一种方法可以浏览器中管理和部署项目,那就是使用tomcat manager. 默认情况下,tomcat m ...
- POJ 2396 有源有汇有上下界可行流问题
题意:给一个矩阵,给出每行每列之和,附加一些条件,如第i行第j列数必需大于(小于)多少. 思路题解:矩阵模型,模拟网络流,行.列标号为结点,构图,附加s,t,s连行标(容量上下限每行之和(必需以这个 ...
- Volley 源码解析 StringRequest解析
Android Vollety是一个很有用的框架,所以想借鉴前人思想,分析这个源代码. 参考: http://blog.csdn.net/crazy__chen/article/details/464 ...
- [NOIP2012T3]开车旅行
题目描述 NOIP 2012 提高组 题3小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 ...
- CentOS6.5升级手动安装GCC4.8.2 与 CentOS 6.4 编译安装 gcc 4.8.1
http://blog.163.com/zhu329599788@126/blog/static/6669335020161179259975 http://www.cnblogs.com/codem ...
- keras函数式编程(多任务学习,共享网络层)
https://keras.io/zh/ https://keras.io/zh/getting-started/functional-api-guide/ https://github.com/ke ...
- UVA 1482 - Playing With Stones(SG打表规律)
UVA 1482 - Playing With Stones 题目链接 题意:给定n堆石头,每次选一堆取至少一个.不超过一半的石子,最后不能取的输,问是否先手必胜 思路:数值非常大.无法直接递推sg函 ...
- Solidworks修改零件文件名之后工程图找不到零件怎么办
如下图所示,如果我直接把"压紧柱 V1.0"改名为"压紧柱",则打开工程图之后图纸都没了. 即便你用打开零件的方式找到了这个零件,工程图还是老样子 所以 ...