delphi xe5 android 开发数据访问server端(二)

Posted on 2013-09-17 13:14  至今  阅读(3018)  评论(6编辑  收藏  举报

上一篇我们创建了一个拟给手机端访问的webservices服务

接下来创建一个返回数据集的过程,用webservices发布,供手机端调用。这里我使用firedac

1、打开上一篇自动创建的WebModule

   然后分别拖放以下数据连接控件

    FDConnection1:firedac连接数据库的
    FDPhysMSSQLDriverLink1: 数据驱动 选的是sqlserver ,另外还有 db2 ,oracle,acess ,excel ,sqllite,mysql等
    FDQuery1: 相当于adoquery
    DataSetProvider1:delphi的provider
    ClientDataSet1: delphi的我最喜欢的cds

 2、数据库的连接

     首先用  FDConnection1 连接sqlserver服务器,在控件上右键 设置以下信息

     

     3、其他数据控件连接

        FDquery1已经自动连上了connection,我们在sql里写以下语句

         接下来 DataSetProvider1 连好fdquery1,clientdataset1的providername选择 DataSetProvider1

 

 

  4、在WebModule 中的public中实现以下代码

   function TAndroidWM.GetEmployee_Mi: widestring;
    begin
     with clientdataset1 do
     begin
       close;
       open;
       result:=xmldata;
       close;
     end;
    end;

  5、在AdroidServicesImpl.pas 引用WebModule 的接口实现的public单元实现以下代码

     function GetEmployee_mi:widestring;stdcall;

      function TAdroidServices.GetEmployee_mi: string;
    var
      dm:TAndroidWM;
    begin
      dm:=TAndroidWM.Create(nil);
      result:=dm.GetEmployee_Mi;
      dm.Free;
   end;

6、在 AdroidServicesIntf.pas 单元实现以下代码

 

type

  IAdroidServices = interface(IInvokable)   ['{9B1596C5-AD43-4849-830E-0B82D8BAA043}']  

  function GetEmployee_mi:widestring;stdcall;  

  end;

 

  6、运行server 查看webservice是否实现了GetEmployee_mi服务

    

    服务端至此完成,实现了用clientdataset的xmldata返回数据集的过程,当然您可以对返回的xml进行压缩和解压缩的操作,减小网络传输压力。

 

   下一篇 我们介绍在android手机端实现 调用webservices服务接口,完成数据展现

Copyright © 2024 至今
Powered by .NET 8.0 on Kubernetes