QB资料学习.01
1.多数据集的读取
A.取数SQL的配置,借用TStringList进行存储多个不同的取数SQL
B.DBA取数: DBA.ReadMultipleDataSet(TStringList)
C.结果集的提取 DBA.GetResultDataSet(序位,FCDS); //序位从0开始,对应于TStringList的sql序位;
D.结果集的清理: DBA.ClearResultDataSets;
2.多数据集的提交
A.提交前的无效信息清理: DBA.ClearWriteDataSets
B.添加需要提交的数据集: DBA.AddWriteDataSet(表名,清理SQL,要提交的CDS);
C.写库: DBA.WriteMultipleDataSets;
-----------------------------------------------------------------------
经测:在多数据集提交时并未发现有任何地方标识关键字段值?
疑问:难道是在提交的过程中,通过表名取表结构,然后再来识别关键字?
那如果数据表未标识关键字,只是用户标识某个字段为关键字,如何执行?
3.Blob字段数据的处理
A.对于Blob字段内容->比如图片,文件等内容;先将其转为内存流后再做参数处理
FImgStream:=TMemoryStream.Create;
FImgStream.LoadFromFile(xxx); 或者其它的内存加载方式
B.借用DBA进行SQL处理
DBA.ParamParcel.Clear;
DBA.ParamParcel.PutStreamGoods(':XX',Stream); //参数配置,前面加冒号,后面为形参
//形参与字段名无实际关系,可一致,也可不一致
DBA.ExecuteSQL(SQL语句,是否有返回值,是否事务处理,返回接收变量);
** 在SQL语句中,配置的形参应该与Parcel中的形参一致
C.从DBA中取Blob字段信息
FImgStream:=TMemoryStream.Create;
TBlobField(CDS.fieldbyname('xx')).SaveToStream(FImgStream); //将内容存到内存流中后,剩下的事情该怎么处理就怎么处理了
4.长耗时服务插件的回调业务
A.服务插件端:
a.创建接口对象: Messager:=TAPIMessager.Create(InParcel);
b.从入口参数中提取回调对象来源信息==>需要客户端配合传入
TargetNodeId:=InParcel.GetAnsiStringGoods('ThisNodeId');
ConnectionId:=InParcel.GetInt64Goods('FromConnectionId');
c.实际业务处理(若业务中有客户端相关参数,直接从入参对象中提取)
d.回调结果返回
i: 创建返回参数,与常规插件一样,以QBParcel进行返回
ii:利用接口对象发送回调消息
Messager.CallbackToConnection(TargetNodeID,ConnectionID,返回参数);
iii:返回参数的释放 QBParcel.Free;
接口对象的释放 FreeAndNil(Messager);
B.客户端业务处理
a.参数配置:依据实际业务需要,配置传入参数
b.通过 TDllPlugin.AsyncRPC(插件名,插件访问密码,传入参数) 调用长耗时服务
c.提交后,业务处理完成.至于处理多久,处理完成并返回后的处理,则将由消息对象处理了;
----------
d.服务端返回长耗时业务后,回调的内容将由 TMsgReceiver 接收
** 接收处理事件为: OnCallBackMessage(MsgParcel:TQBParcel;DllFileName:String);
** 参数分别为服务端插件返回的参数及服务插件文件名
5.本地化业务插件处理
A: 客户端业务插件的调用,主要使用的是 TQBClientModule进行调用;
B: 参数传递 TQBClientModule.InPutParcel 进行处理,处理方法与常规情况下的QBParcel一致
C: 本地化插件调用: TQBClientModule.ExecuteTask('业务插件文件名称.dll');
D: 返回结果的提取与处理: 使用 TQBClientModule.OutPutParcel;
QB资料学习.01的更多相关文章
- spring学习(01)之IOC
spring学习(01)之IOC IOC:控制反转——Spring通过一种称作控制反转(IOC)的技术促进了低耦合.当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Java虚拟机JVM学习01 流程概述
Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...
- Android Testing学习01 介绍 测试测什么 测试的类型
Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...
- Java学习01
Java学习01 第一章 1.JRE与JDK JDK(JAVA Develop Kit,JAVA开发工具包)提供了Java的开发环境和运行环境,主要用于开发JAVA程序,面向Java程序的开发者; J ...
- ThinkPhp学习01
原文:ThinkPhp学习01 一.ThinkPHP的介绍 MVC M - Model 模型 工作:负责数据的操作 V - View 视图(模板 ...
- 【iScroll源码学习01】准备阶段 - 叶小钗
[iScroll源码学习01]准备阶段 - 叶小钗 时间 2013-12-29 18:41:00 博客园-原创精华区 原文 http://www.cnblogs.com/yexiaochai/p/3 ...
- JVM学习01:内存结构
JVM学习01:内存结构 写在前面:本系列分享主要参考资料是 周志明老师的<深入理解Java虚拟机>第二版. 内存结构知识要点Xmind梳理 案例分析 分析1 package com.h ...
- webservice学习01:wsdl文档结构
webservice学习01:wsdl文档结构 wsdl文档结构 WSDL文档示例 <wsdl:definitions xmlns:xsd="http://www.w3.org/200 ...
随机推荐
- Webstorm的序列号和证书
User Name: ------------name-------------- EMBRACE -------------name-------------- License Key: ===== ...
- paper 106:图像增强方面的介绍
图像增强是从像素到像素的操作,是以预定的方式改变图像的灰度直方图.有时又称为对比度增强,灰度变换.点运算不可能改变图像内的空间关系,输出像素的灰度值由输入像素的值决定.其作用: 对比度增强:扩展感兴趣 ...
- js asp.net获取时间戳
方法1: var timestamp = (new Date()).valueOf(); 结果:1280977330748 方法2: var timestamp=new Date().getTime( ...
- 介绍Android HAL的一篇好文章
从Linux driver到HAL再到JNI再到Java都讲了一个遍,算是对HAL有一个基本的了解了,其中hw_module_t的设计非常巧妙,每个module都会有自己的特定函数,而HAL是不知道的 ...
- ECStore在Win环境下如何运行CMD命令
大多数程序员使用windows开发环境来做ECStore二次开发,经常需要使用 ECStore自带的cmd命令进行一些系统操作,如清除缓存(cacheclean),升级程序(update),创建新的a ...
- cnblogs 主题 summerGarden redesign
Intro cnblogs 的 summerGarden 主题是一个宽屏版的,而且设计虽然很Qzone风格,不过我个人喜欢「简单,扁平」的设计风格,所以就修改了一下样式. before after r ...
- 解决”不按住fun键输入的是数字,按着fun键才能输入字母”
原来联想的“FN+NUMLK“键组合,是进行数字和字符区域的切换的. 如果当前输入的是数字,说明当前处于数字模式,按一次“FN+NUMLK“键组合即可切换到字母模式.这样就能够正常地输入字母了.
- :before\:after伪元素用法
:before和:after这两个伪元素在真正的页面元素之前和之后插入一个额外的的元素,等效于下面的代码: <p> <span>:before</span> HTM ...
- YTU 2346: 中序遍历二叉树
原文链接:https://www.dreamwings.cn/ytu2346/2606.html 2346: 中序遍历二叉树 时间限制: 1 Sec 内存限制: 128 MB 提交: 12 解决: ...
- 关于android接口回调机制
http://www.cnblogs.com/JohnTsai/p/3975022.html http://www.zhihu.com/question/19801131 In my previous ...