delphixe android mssql services datasnap 哪个好

 我来答
在雨天中的哭泣
2017-03-22 · 超过50用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:66万
展开全部
觉得Delphi最强大的的功能之一就是开发数据库三层应用的DataSnap,在Android上的实现,首先是完成服务器的设计:
(1)利用向导完成DataSnap服务器的框架,如下图:

由于是实验,所以选择VCL程序,如果是实际应用,建议Service程序

我习惯使用TCP/IP作为通讯协议,简单且速度快,Sample Methods是演示和测试用

缺省211端口

使用TDSServerModule作为数据服务提供主体,非常方便变更为Service应用服务

(2)设置服务器数据
在TDSServerModule中设置数据,为简便起见,采用BDE引擎的DBDEMOS下animals.dbf数据库,有文字也有图片,如下图:

放置一个TDataSetProvider连接该数据源,如下图:

服务器至此设计完成,没有编写一行代码,只是调整了部分控件和窗体的名称。手动启动该应用服务程序。
(3)新建Android客户端程序
新建一个android客户端程序,在工程中增加一个TDataModule模块,用于放置与应用服务器的连接和数据,在模块窗体上放置TSQLConnection、TDSPProviderConnection、TClientDataSet三个控件,如下图:

其中TSQLConnection的属性设置中LoginPrompt要设为False,TDSPProviderConnection的属性设置如下:

其中ServerClassName是指应用服务器上作为数据服务提供主体的TDSServerModule的实例类名称,在这里我习惯性地重新命名了,缺省一般是TServerMethods1。TClientDataSet的设置如下图:

为实现应用服务器上Sample Methods在客户端的调用,需要创建服务类在客户端的实现类,右键点击TSQLConnection选择生成,如下图:

新生成的类定义如下:

以上过程完全同Windows下的DataSnap客户端开发。

(4)Android界面显示数据
Android下对数据的显示,与Windows下开发最大的区别是,无法使用TDBEdit一类的数据感应控件,取而代之的是标准控件,通过LiveBindings技术实现数据感应。要实现该过程,首先是在窗体上放置用于数据展示的标准控件,这里采用了TListBox和TGrid,通过TTabControl分开,如下图:

IP和Port输入框是为了更灵活地连接服务器,下面的按钮OnClick事件代码如下:
procedure TfrmMain.Button1Click(Sender: TObject);
var
dm : TdmServerMethodsClient;
begin
try
//连接指定IP和Port的应用服务器
dmMain.SQLConn.Close;
dmMain.SQLConn.Params.Values['HostName'] := edtIP.Text;
dmMain.SQLConn.Params.Values['Port'] := edtPort.Text;
try
dmMain.SQLConn.Open;
try
//创建应用服务器上的Sample Methods在客户端的实现类
dm := TdmServerMethodsClient.Create(dmMain.SQLConn.DBXConnection);
//执行服务器上的方法
ShowMessage(dm.ReverseString(edtIP.Text));
finally
dm.Free;
end;
//开启客户端数据集
dmMain.cdsanimals.Close;
dmMain.cdsanimals.Open;
except
on E: Exception do
ShowMessage(E.Message);
end;
finally
dmMain.SQLConn.Close;
end;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式