kbmMW CopyRawRecords 用法】的更多相关文章

复制一个ClientQuery数据集到另外一个ClientQuery,我们应该怎么做?并注意什么呢? kbmMW为我们提供了好几个方法,有LoadFromDataSet,CopyRawRecords,CopyRecords等.查看源码,应该是CopyRawRecords最有效率,但使用过程中遇到好几个莫名的问题,也是按照原码,最后用下面的写法,正确实现利用CopyRawRecords在ClientQuery间复制记录.下面是从项目中提取的代码,测试通过. ClientQuery.DisableC…
kbmMW Scheduler提供了一个方法InAMoment,由于没有找到调用的例子,只好查看代码,原来这个方法与RunNow差不多,是立即执行一个方法,并且在主线程中. Scheduler.InAMoment(procedure begin text1.Text:='Scheduler.InAMoment'; end ); 看上面的写法,可以用来更新GUI,同RunNow一样,是无法配置的. 参考以前写的内容,在这里,理解Scheduler.Run及Scheduler.RunNow的区别.…
马上周末了,趁着下午这会儿回顾一下这几天对旧项目的升级过程,一些重要但不常用的东西记录下来是很有必要的.其中一个项目中对KBMMW的远程数据通讯方式做了改进,利用SampleService/SampleClient方式传输数据集,以增加对底层数据通讯的可控性. 服务端代码示例: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39…
以前的文章介绍了 很多 kbmmw smartservice 的使用,尤其是 rest 服务,所有的的配置都是通过 开发时写编码实现的,这样就可能导致,针对不同的应用环境,我们要重新编译代码,当然也可以 自己通过配置文件来实现一些配置,那么我们就看看如果通过kbmmw 自带的配置功能让smartservice 更聪明,更灵活. 首先简要说一下 kbmMWConfiguration,这个是kbmmw 官方提供的简单方便的保存,访问. 配置信息可以保存到注册表,也可以保存到ini,xml,json等…
kbmMW已经包含了非常精细的功能来确定和解释数据库中表的元数据. 在下一版本中,这个功能将得到进一步加强,可以导入现有数据库中的表,自动创建与表相匹配的ORM实体类. 这意味着你能够使用kbmMW的ORM智能来查询表,将数据保存回表并操纵表元数据,例如添加,更改或删除字段.索引以及需要能够升级数据库用于匹配已更改的ORM表实体类的更高版本的表. 当你意识到需要更改数据库表以允许其他或不同的字段时,ORM的设计目标之一始终是抽象掉所需的所有枯燥工作.在kbmMW中,它就像更改ORM类一样简单,并…
前文写过使用HTTP.sys转输层(TkbmMWHTTPSysServerTransport),实现一个kbmMW应用服务器. 如果在一台服务器上,同时运行多个,基于TkbmMWHTTPSysServerTransport实现的kbmMW应用服务器,该怎么配置呢? 通常会遇到这样的错误信息,如:“Unable to bind to the underlying transport for … The IP Listen-Only list may contain a reference to a…
kbmMW随机数生成器 为了使基于kbmMW开发的项目更安全,其又提供了随机数及强密码生成实现类,拿来即用,让人感觉真是站到巨人的肩膀上好干活! 随机数方面,kbmMW分别提供32及64位的随机数生成器. 32位随机数生成器: TkbmMWRandomDelphi TkbmMWRandomPCGUInt32 TkbmMWRandomMersenneTwisterUInt32 64位随机数生成器: TkbmMWRandomSplitMix TkbmMWRandomXoroshiro128Plus…
kbmMW提供了TkbmMWClientQuery查询组件,作为kbmMW开发者都知道,这是一个内存数据集,基于服务端的查询服务(Query Service),可以直接执行sql得取想要的记录,因为是内存表,可以直接增.删.改记录,并利用Resolve方法提交修改到服务器,同时,也支持事务,利用kbmMWClientTransactionResolve组件,在事务中一次提交多个数据集. 利用ClientQuery组件,就可以轻松将原来的两层应用,如基于ADO设计的系统,移置到kbmMW多层架构上…
kbmMW的更高版本包含越来越多的功能,可用于通常的日志记录,审计,运行期发生异常时的堆栈跟踪以及现在的内存使用调试.这些功能实际上可用于任何应用程序,不仅限于基于kbmMW开发的多层应用系统.我已经在kbmMW上写了一些关于日志记录和审计系统的文章,其中还介绍了如何在处理异常时的堆栈跟踪,最近新增加的功能是能够实时跟踪应用程序的每个内存分配.你可能会问,FastMM已经内置了内存泄漏检测,为什么还用kbmMW的内存调试器呢?FastMM仅跟踪通过常规GetMem等完成的内存分配,它不跟踪通过W…
以前我写过了,通过httpsys 提升windows 下,delphi 多层应用.随着delphi 10.2 对linux 的支持,很多人也想在linux 下 发布kbmmw 服务器,但是官方仅通过indy 支持 linux.刚好国内有大牛开源了Delphi 跨平台 Socket 通讯库. 通过这个可以直接让kbmmw 服务器高速的运行在在windows.linux.Mac 上. delphi-cross-socket 的开源地址为:https://github.com/winddriver/D…
这个版本除了增加新的SmartBinding功能,同时提供了大量的功能更新以及bug修正.其中,SmartBinding的介绍,xalion已经第一时间写了初识kbmmw 中的smartbind功能,同时还写了XML-RPC和 JSON-RPC的支持文章.kbmMW的福音,向xalion敬礼!关于SmartBinding,在这个版本没发布前,就第一时间翻译了作者的博文:SmartBinding与kbmMW#1,我想这些资料可以让大家轻松的使用这个让人兴奋的功能了! 因为常用Scheduler,所…
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是用户跟Android应用进行数据传输的窗户,比如实现一个登陆界面,需要用户输入账号密码,然后我们获取用户输入的内容,提交给服务器进行判断. EditText 支持的 XML 属性及相关方法 XML 属性 相关方法 说明 android:text setText(CharSequence text)…
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie: $.cookie('user', 'bnbbs'); //设置cookie 参数 $.cookie('user', 'bnbbs', { expires : 7, //过期时间,7 天后 path : '/', //设置路径,上一层 domain : 'www.ycku.com', //设置域名…
                               Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的网络通信时通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务器端,可以通过accept方法监听请求,监听请求后返回Socket,Socket用于完成具体数据传输,客户端也可以使用Socket发起请求并传输数据.ServerSocke…
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBox.Show (IWin32Window, String) 在指定对象的前面显示具有指定文本的消息框. MessageBox.Show (String, String) 显示具有指定文本和标题的消息框.由 .NET Compact Framework 支持. MessageBox.Show (IWi…
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , where thing is either an iterator or a sequence, returns a iterator that will return (0, thing [0]) , (1, thing [1]) , (2, thing [2]) , and so forth. A c…
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: $.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,…
用法: <div id="test">   <span style="color:red">test1</span> test2</div> 在JS中可以使用: test.innerHTML: 也就是从对象的起始位置到终止位置的全部内容,包括Html标签. 上例中的test.innerHTML的值也就是“<span style="color:red">test1</span>…
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp]# cd /tmp [root@localhost tmp]# touch attrtest[root@localhost tmp]# chattr +i attrtest [root@localhost tmp]# rm attrtest rm: remove regular empty file…
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举以下三个例子: =nG dnG ynG 其中,n为行号.注意行号后面接的是大写字母"G".而"nG"恰好是光标移动到第n行的命令. 对于"=","=nG"的意思就是从当前行到第n行之间进行格式化.常用的一个命令"gg=G…
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论何种变量类型都统一使用 assign 赋值$this->display() // 输出模版文件批量赋值$array['name'] = 'thinkphp'$array['email'] = 'liu21st@gmail.com'$array['phone'] = '12335678'$this->…
通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些是注释了的,请按照文章讲解的顺序先后释放注释并运行查看效果. I.EF里Guid类型数据的自增长 现在新添加一个Trip旅行类: /// <summary> /// 旅行类 /// </summary> public class Trip { public Guid Identifie…
一般this在各类语言中都表示“调用当前函数的对象”,java中也存在这种用法: public class Leaf { int i = 0; Leaf increment(){ i++; return this; //this指代调用increment()函数的对象 } void print(){ System.out.println("i = " + i); } public static void main(String[] args) { Leaf x = new Leaf()…
目录 PropertyGrid控件由浅入深(一):文章大纲 PropertyGrid控件由浅入深(二):基础用法 控件的外观构成 控件的外观构成如下图所示: PropertyGrid控件包含以下几个要素: 属性名称 属性的名称.标题. 属性编辑器(属性值) 这里显示的是属性的当前值,显示的一般为文字,也可以以图标的形式.编辑器会自动根据数据的类型定义一个验证器,比如属性类型为int类型,你是无法输入字符内容的.另外,一般属性的编辑是直接在属性值这栏直接输入,但是复杂的属性,一般都会提供一个自定义…
我之前在 <前端搭环境之从入门到放弃>这篇文章中吐槽过,webpack中可以写commonjs格式的require同步语法,可以写AMD格式的require回调语法,还有一个require.ensure,以及webpack自己定义的require.include,再加上ES6的import语法,这么多岂不是会把人给搞乱.本篇就来梳理一下这些require各自的特点,以及都在什么场景下使用. commonjs同步语法 经典的commonjs同步语法如下: var a = require('./a…
写在前面的话:随着CSS文件越来越大,内容越来越复杂,对其进行很好的维护将变的很困难.这时CSS预处理器就能够帮上大忙了,它们往往拥有变量.嵌套.继承等许多CSS不具备的特性.有很多CSS预处理器,这里总结Sass的使用方法. ======正文开始====== 我们可以通过一种类似css的编程语言编写代码,保存为.scss后缀名的文件,然后使用Sass进行处理为css文件,而这种.scss文件中可以有变量.嵌套等功能,有些编程的味道,Sass简单介绍看这里:Sass:同时.scss文件也能够通过…
因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编写一个最简单的宏,本文将进一步介绍如何用宏来实现对代码编辑窗口控制.在本文结束的时候,你应该能自己实现如下两个功能,第一个用于对方法体进行 phase0 标记:第二个可以将当前窗口中的代码进行归类,将所有方法.属性.变量通过region进行分块. 动画演示:phase0 动画演示:设置 region…
Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure File Storage 基本用法>中介绍了 File Storage 的基本用法,本文将介绍 Queue Storage 的主要使用方法. 文章来源:葡萄城产品技术社区 Queue Storage 是什么? Azure Queue Storage 是一个存储大量消息的存储服务,这些消息可以在任何地方通过 HTTP/HTTPS 访…
Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure Blob Storage 基本用法>中介绍了 Blob Storage 的基本用法,本文将介绍 File Storage 的主要使用方法. 文章来源:葡萄城产品技术社区 File Storage 是什么? Azure File Storage 是一个通过 Server Message Block (SMB) 协议提供云端文件共享的…
1.如果想判断list是否为空,可以这么判断: if(null == list || list.size() ==0 ){ //为空的情况 }else{ //不为空的情况 } 2.list.isEmpty() 和  list.size()==0  有啥区别呢 答案:没有区别 .isEmpty()判断有没有元素,而size()返回有几个元素, 如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法. 3.list!=null  跟  ! list.isEmpty()有什么区别?…