使用delphi 开发多层应用(二十一)使用XE5 RESTClient 直接访问kbmmw 数据库

     delphi XE5 出来了,增加了android 的开发支持,另外增加了一个RESTClient 来支持访问REST 服务器。

这个功能非常强大,可以直接使用非常多的REST 服务器。同时也可以支持访问kbmmw 的web 服务器,

并完美的通过JSON支持使用kbmmw 的JSON 数据格式。使我们非常方便的在win32,win64,mac os,ios 和android

上访问kbmmw 的数据库。

    首先我们建立一个可以返回JSON 的kbmmw web 服务器。这个可以参照我以前的博文,使用delphi 开发多层应用(十二)使用kbmMW webserver 返回JSON

。这里就不再重复。

  现在我们在XE5 里面做客户端,首先建立一个工程,并在form 上放置以下控件,如图:

各个控件的属性设置:

注意画箭头的地方。

剩下的就是写代码了

procedure TForm1.Button1Click(Sender: TObject);
begin
  restclient1.BaseURL:='http://127.0.0.1/getdata';
  restrequest1.Execute;
end;

procedure TForm1.RESTResponseDataSetAdapter1BeforeOpenDataSet(Sender: TObject);
begin
  if ClientDataSet1.FieldCount = 0 then
    ClientDataSet1.CreateDataSet;
end;

 运行服务器,并打开服务。

运行客户端,点按钮,就可以显示出服务端的数据了。

呵呵,基本上就是零代码了。

 

 

 

时间: 2024-07-31 15:56:02

使用delphi 开发多层应用(二十一)使用XE5 RESTClient 直接访问kbmmw 数据库的相关文章

使用delphi 开发多层应用(十三)使用Basic4android 直接访问kbmMW server

 由于目前delphi xe2 还不直接支持Android 的开发,因此kbmMW 客户端的功能也没办法直接在Android 上运行. 由于kbmMW 为了与java 应用程序通讯,在企业版里面提供了一个JavaClinet. 具体文件名为kbmMWClient.jar. 而在basci4android 可以直接使用这个jar. 也就是说通过kbmMW 的javaclient 可以直接访问kbmMW 的服务器. 当然由于客户端没有kbmMemTable的功能,一次只能是访问远程服务过程,无法直接

使用delphi 开发多层应用(十九) ios通过soap 访问kbmmw服务器

      随着delphi XE4 的推出,开始真正意义上支持ios 的开发,由于目前kbmmw 还不完全支持ios 的开发,因此 无法直接使用kbmmw 的客户端访问kbmmw 的服务器(虽然kbmmw 也提供了C 的客户端,可以使用xcode连接 kbmmw的C 客户端来访问kbmmw 服务器,但是功能有限,而且要熟悉xcode),对于急着想在ios 使用kbmmw 服务的同学,可以先使用kbmmw 的webservice 方式访问kbmmw 服务器.   下面我就介绍以下如何在ios 访

使用delphi 开发多层应用(十一)使用kbmMW 开发webserver

用kbmMW 开发webserver也是非常方便的. 还是以前面的简单服务器为基础,我们先要通过kbmMW的service wizard 来建立web 服务. 如图,先选择web server service 点下一步,出现选择文件目录的界面 我们这里用webfiles 相对路径,就是在网页文件放到可执行文件目录下的webfiles 目录. 点下一步,出现输入服务名的界面,注意这里的服务名必须是HTTPSERVICE. 后面的基本上就和其他服务类似了,可以一路点下去了.然后就生成对应的服务器代码

使用delphi 开发多层应用(八)客户端更新数据到kbmMW服务器

   上次写了从kbmMW服务器给客户端返回数据,我们实现了数据的查询功能,但是当客户端对数据进行了增加.更新.删除的操作, 我们必须把这些操作返回到服务器端,并对后台数据库进行更新.kbmMW 可以很方便的实现这一功能,今天就做一个更新数据到 服务器的例子.    还是在昨天的基础上,我们要把客户端的信息更新到服务器上,首先需要在服务器端的Tkbmqueryservice 设置允许客户端更新 的权限,如图 即把allowclient 开头的几个属性都设为True; 同时为了保证客户端可以插入数

使用delphi 开发多层应用(十八)使用Basic4android 访问RTC 服务的二进制流(照片)

    上次写了b4a 通过xmlrpc 访问rtc 的远程服务,有网友询问如何通过b4a 访问RTC web 的二进制流,例如如何下载 服务器上的照片,其实访问二进制流和访问字符串类似,不同的地方是,由于是通过http 协议,对于二进制流,需要先转换成 base64 编码,到客户端后再再把base64 转换回去成二进制码,就可以了.(注:由于RTC 的bug,需要RTC 6.08 以上的版本)    RTC服务器端的代码如下: procedure TForm1.RtcFunction3Exec

使用delphi 开发多层应用(十四)使用Basic4android 显示kbmMW server数据

    前面说了basic4android 直接访问kbmMW server 的方法,由于javaclient 不直接支持服务器端数据库的操作, 要显示数据的内容就需要通过JSON 方式来转换.今天就大概介绍一下转换的办法. 首先要在服务器端把数据库转换为JSON ,为了方便,我修改了一下前面的转换过程. function Txalionsrv.datatojson(intablename: string): string; var alljson: ISuperObject; datajson

使用delphi 开发多层应用(三)Delphi常用多层框架介绍

    目前在delphi 开发多层应用的框架基本上集中在以下几种,每种开发框架都有自己的优缺点,没有最好的,大家可以根据 自己的实际需求选择相应框架,我把我本人在使用几种框架的体会与大家分享一下.如有不对之处,可以拍砖.      1. DELPHI 自身提供的DataSnap       从delphi 3 开始,delphi 自身就开始支持多层开发,后期的版本逐步加强三层开发功能,在delphi 6 以后, 把这一功能叫Datasnap,并且每个都有很多变化,包括DBExpress 的数据

使用delphi 开发多层应用(一)C/S系统的扩展

   在讨论多层开发前,先谈一下老的C/S 程序.      几个月前,我的一个朋友找我,说是我以前给他做的一个系统,原来是在局域网的运行的,现在有两个校区,另外一个校区也想使用, 两个校区都可以上互联网,让想办法解决.我去看了一下,是我10年前给开发的c/s 系统,源代码早都不见了.我说可以按现在的模式 重新开发一套,但是需要时间和money.朋友要求一周内就要解决,同时认为系统现有的功能已经足够了,而且系统非常稳定,他们已经习惯操作了, 没有必要再开发了.看现有的条件下如何快速.安全的实现两

使用delphi 开发 web(二)动态脚本的实现

   看了前面的文章同学,都会认为delphi 开发web比较麻烦,没有PHP 和ASP 方便. 因为每次要改动网页的内容,就要重新编译一次,重新发布一次,这样也太麻烦了.那么我们就 做一个类似PHP 的动态web 服务器吧,一次编译发布后,就不用再改了,网站内容需要变化时,只 需要修改脚本就可以了. 先看看下面的代码: <% var    i:integer; begin for i:=1 to 10 do   print('ok'); %>  <p> 你好<p> &