三层架构 android访问MSSQL数据库 程序 (服务器端)

  Delphi Xe5开始支持Android编程了。Delphi的春天终于来了!

  我也是刚接触XE,以前一直都在用D7,一直都在等它支持Android今天终于等来了,可以开始做项目了,虽然XE还存在很多BUG,但我相信,Embarcadero在努力,我们也在努力!

  下面我们来做一个三层架构,访问数据库的程序。

  一、服务器端

1、建立主程序

  New-other-webService-SOAP Server Application

起名为: ServerFrm

在WebModal模块里加入如下控件:

加入:FDConnection1、FDQuery1、DataSetProvider1 、ClientDataSet1、 FDPhysMSSQLDriverLink1

ClientDataSet1.ProviderName := DataSetProvider1;

DataSetProvider1.DataSet := FDQuery1;

FDQuery1.Connection := FDConnection1;

右击FDConnection1 选Connection Editer

填好Driver ID: MSSQL

DataBase 、 User_name 、 Password、 Server 等信息。 OK!

在 public 声明

function TWebModule1.GetXMLData(str: string): TBytes;

然后在下在定义

function TWebModule1.GetXMLData(str: string): TBytes;
begin
  with ClientDataSet1 do
  begin
    Close;
    CommandText := str;
    Open;
    Result := ZCompressStr(XMLData);
    Close;
  end;
end;

这里的ZCompressStr函数是压缩ClientDataSet的XMLDATA以减少传输流量,客户端再进行解压即可。

记得加入USES zlib;

保存为 WDMForm.pas

 

三、我们在自动生成的ServerFrmImpl.pas里定义一个函数:

  public
    function GetData(str: string): TBytes; stdcall;

 

uses WDMForm;

function TDLMobileServer.GetData(SQL: string): TBytes;
var WebModuleClass: TWebModule1;
begin
  WebModuleClass := TWebModule1.Create(nil);
  try
    Result := WebModuleClass.GetXMLData(SQL);
  finally
    WebModuleClass.Free;
  end;

end;

这里的SQL是接收来自客户端的SQL语句。

4、我们在自动生成的ServerFrmIntf.pas里定义一个函数;

  function GetData(str: string): TBytes; stdcall; //这里只需要声明

这里已经完成服务器端的设计,点RUN

再点Open Browser

我们在此可以看到服务器端定义的函数: GetData

点START 服务器就配置完成了。

下一章我们来读客户端的设计。

转载于:https://www.cnblogs.com/drifer/p/3410546.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值