码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-06-28 18:53:02      阅读:373      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!