首页 > Windows开发 > 详细

转(Delphi 新窑洞):使用delphi 开发多层应用(十七)使用RTC web 服务器返回JSON

时间:2015-06-28 18:50:37      阅读:225      评论:0      收藏:0      [点我收藏+]

  RTC 作为delphi 的最专业的web 应用服务器,如果客户端要使用JSON 的话,那么使用RTC 应该也是一种

非常好的选择。下面我们做一个使用RTC web 服务器返回数据库JSON 的例子。

    建立一个新的程序窗体,放置如图的控件:

技术分享

其中server 的属性为

技术分享

注意,这一块先不要选多线程,因为在这个简单的例子里面暂时不涉及到数据库池,

后面我会做数据库池的例子。

RtcDataProvider1 的属性

技术分享

然后设置好unidac 的数据库连接属性,我这里使用Firebird 作为数据库。

并设置事件以下代码:

procedure TForm2.Button1Click(Sender: TObject);
begin
   server.Listen();
   Button1.Caption:=‘已启动‘;
   Button1.Enabled:=False;
end;

 

procedure TForm2.RtcDataProvider1CheckRequest(Sender: TRtcConnection);
begin
     with TRtcDataServer(Sender) do
    if UpperCase(Request.FileName)=‘/GETDATA‘ then
      Accept;
end;
技术分享
procedure TForm2.RtcDataProvider1DataReceived(Sender: TRtcConnection);
var
  ds:Trtcdataset;
   r:Trtcvalue;
  ss:string;
  s:TRtcHugeString;


begin
  with TRtcDataServer(Sender) do
    if Request.Complete then
     begin

      ds:=TRtcDataSet.Create;
      r:=Trtcvalue.Create;
      s:=TRtcHugeString.Create;
    try

         cx.SQL.Clear;
         cx.sql.Add(‘select * from bmb‘);
         cx.Open;

      DelphiDataSetToRtc(cx,r.NewDataSet);
      r.to_JSON(s);
      ss:=s.Get;
      write(ss);
      cx.Close;
     finally

      ds.Free;
      r.Free;
      s.Free;
     end;
     end;

end;
技术分享

 

然后编译运行,注意要手工加入RtcDb 和rtcFastStrings 这两个单元引用。

现在我们在浏览器里面输入http://127.0.0.1/getdata

就会显示数据库输出的JSON 串

技术分享

呵呵,可以发现rtc 的json 传里面已经把汉字直接转成unicode 码了。

现在,你可以在客户端任意解释所得到的数据了。

转(Delphi 新窑洞):使用delphi 开发多层应用(十七)使用RTC web 服务器返回JSON

原文:http://www.cnblogs.com/carcode/p/4605921.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!