上一篇我們創建了一個擬給手機端訪問的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服務接口,完成數據展現