DELPHI DATASNAP 2010 入门操作(2)不写一行代码,绿色三层我啊推行

并未一行代码的老三层,功能自然非常之简约,但是,再略,我们也三交汇了,学习一个事物,需要从入门开始便生趣味,如果入门就叫吓怕了,哪么后来乌来信心上为?现在就是为我们开始吧,不只是没有华丽的辞藻,而是连用词都不正规,因为,我呢只是是一个入门者。

  我所用底版也:Embarcadero® Delphi® 2010 Version 14.0.3593.25826

  一、让我们 file->new->other ,再选 datasnap server
,或者F6,输入
datasnapACCESS 1ACCESS 2

比方图,我们发出半点只可选取

   datasnap server
:选择及时等同宗,我们取得的以凡一个独立EXE的老三交汇服务器应用程序(TCP及HTTP两栽模式)

   datasnap WebBroker application
:选择立即同样起我们获取的凡一个根据ISAPI的程序,需要把程序发布到IIS
等方面才方可运作

 选择第一基的布局好,但是要是连发访问量大的话语,需要编程者的水准高才可,选择第二件则安排麻烦,但是由HTTP
是凭连接模式,理论及针对连发量的支配都交了IIS了,而非是咱的应用程序了(本处如果说得语无伦次的伸手点,谢谢!)

现行咱们选择第一码

并发如下图所出示之界面:

ACCESS 3

 

应用程序类别(you may select from one of the following applition
types):

分别为

 VCL应用程序

控制台应用程序

劳应用程序

得选择啊一样码,就看君协调的要求了

劳类(you may select from one or more communication protocols):

可选TCP,HTTP,或者TCP+ HTTP ,也就是同时支持TCP及HTTP

http下面来一个
authentication,按字面意思是用验证吧,具体细节,还不及去研究

 

是不是带有简单近乎:add server methods class

理所当然要包含拉,不然我们温馨去写,很烦的

 ancestor(先辈),是因由什么模块继承下去,我们独家将各个的上层列出来,你虽懂得该选什么了吧

 TPersistent:TServerMethods1 = class(TPersistent)–> TPersistent
= class(TObject)

TDataModule:  TServerMethods1 = class(TDataModule)–>TDataModule
= class(TComponent)–> TComponent = class(TPersistent, IInterface,
IInterfaceComponentReference)–> TPersistent = class(TObject)

 TDSServerModule:TServerMethods1 =
class(TDSServerModule)–> TDSServerModuleBase =
class(TProviderDataModule)–> TProviderDataModule =
class(TDataModule)–>TDataModule = class(TComponent)–> TComponent
= class(TPersistent, IInterface,
IInterfaceComponentReference)–> TPersistent = class(TObject)

 

 

含有简单示例:include sample methods

但是挑选可免拣,如果你既熟悉了之,哪就是没有必要选拉

 

该选什么,自己跟据能力以及需求肯定吧,现在我们不怕还选默认项,点ok下同样步吧!

 

 自动生成了三个模块,第一次之个方面空白的,第三单则使图

 

ACCESS 4ACCESS 5

 

咱重望生成的单元内容是什么

 

 

ACCESS 6ACCESS 7unit
ServerMethodsUnit1; 

 1 unit ServerMethodsUnit1;
 2 
 3  interface
 4 
 5  uses
 6   SysUtils, Classes, DSServer;
 7 
 8  type
 9   TServerMethods1 = class(TDSServerModule)
10   private
11     { Private declarations }
12   public
13     { Public declarations }
14     function EchoString(Value: string): string;
15   end;
16 
17  implementation
18 
19  {$R *.dfm}
20 
21  function TServerMethods1.EchoString(Value: string): string;
22  begin
23   Result := Value;
24  end;
25 
26  end.

 

 

 

 

ACCESS 8ACCESS 9unit ServerContainerUnit1;

 1 unit ServerContainerUnit1;
 2 
 3  interface
 4 
 5  uses
 6   SysUtils, Classes, 
 7   DSTCPServerTransport,
 8   DSServer, DSCommonServer;
 9 
10  type
11   TServerContainer1 = class(TDataModule)
12     DSServer1: TDSServer;
13     DSTCPServerTransport1: TDSTCPServerTransport;
14     DSServerClass1: TDSServerClass;
15     procedure DSServerClass1GetClass(DSServerClass: TDSServerClass;
16       var PersistentClass: TPersistentClass);
17   private
18     { Private declarations }
19   public
20   end;
21 
22  var
23   ServerContainer1: TServerContainer1;
24 
25  implementation
26 
27 uses Windows, ServerMethodsUnit1;
28 
29 {$R *.dfm}
30 
31 procedure TServerContainer1.DSServerClass1GetClass(
32   DSServerClass: TDSServerClass; var PersistentClass: TPersistentClass);
33 begin
34   PersistentClass := ServerMethodsUnit1.TServerMethods1;
35 end;
36 
37 end.

 

 

我们当本文章中,并无开深入之介绍,因为若如把有关的牵线了,估计就是相同本书的一个大章节了,而且针对有些细节我连无打听,误导了情人等未是好事,同时还提醒各位,看我的篇章要别因为全信任的心绪去看,因为自己说之,并不一定正确

 

  将form1的题改吗而想要之标题:如 datasnap
SERVER,然后再次加上另外界面上显得的,比如我今天加一个lable,内容写上:datasnap
服务器端已运行,并调字号到适当的深浅

 先把我们的次召开个大概的保留吧,由于是DEMO,我哉力求简约,所以数据库也放在同样目录,且设置成固定的参数

别为默认,工程名称即使吃做datasnapdemo1SRV吧

 

选用什么数据库好呢,对于工作于非MS
平台上的人头,很多且排斥MS的出品,不过自己连认为,MS的物做的老好的,他未肯定死强大,但是相应挺易用,今天之数据库暨连接组件,我们吧未拣DBX及其余的数据库,DBX+FB可以绿色,但是量会FB的对象数量并无是诸多,我们就是就此简单的ACCES+ADO

 

   现在咱们就用ACESS 来建造一个库房,DB.mdb
然后生成一个表名为TEST,有一定量排,分别吗 id 数字,Vname 文本,ID为主键

   并且输入一排值  1 周黔

 

 在 ServerMethods1 上面放上ADO相关的控件,并连接受ACCESS

 ADOConnection1

    loginprompt为:false

    connectionstring为:(注:下面是自动生成的总是串,你啊自动生成一个咔嚓,应该会扣押我文章的兼具人数犹见面之操作的

 

ACCESS 10ACCESS 11Provider

Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=db.mdb;Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;

 

 

connected为true

ADOTable1

connection为ADOConnection1

tablename为:test

active为:true

DataSetProvider1

dataset为:ADOTable1 

 

 ACCESS 12

装好了,现在我们记下DSTCPServerTransport1的prot值

ServerMethodsUnit1中的: TServerMethods1
= class(TDSServerModule)
,如果TServerMethods1于您转移成为了外的代码了,则需牢记对应之代码

上述两个价一会儿每当客户端要因此到

编译并独立于IDE运行服务器端吧

运转后要图:

ACCESS 13

 


保持服务器端不要关,让我们开始客户端的编程吧

 

 

 file->new-> vcl for the application 打开一个应用程序

将FROM的题目改成为:datasnap client

放开上一个 SQLConnection1

loginprompt为:false

   把derver 改成:Datasnap 然后点derver前的+号

        hostname 输入  127.0.0.1

         prot 设置和服务器的平等,默认为211(刚刚服务器上要求记住的)

放上一个DSProviderConnection1

   sqlconnection为:SQLConnection1

serverclassname 为: tServerMethods1(刚刚服务器上要求记住的)

 

把 SQLConnection1的connected 设置为true

推广上一个ClientDataSet1

RemoteServer设置为:DSProviderConnection1

providername 设置为:DataSetProvider1

active设置为:true

推广上一个:DataSource1

 dataset设置为:ClientDataSet1

拓宽上一个:DBNavigator1

DataSource设置为DataSource1

放大上一个DBGrid1

 DataSource设置为DataSource1

 

现在封存客户端也datasanpdemo1client

 ACCESS 14

 然后编译成EXE独立于IDE运行吧

如图:

ACCESS 15

咱俩的简便的老三重叠终于不负众望了,你产生描绘代码了呢?

试行把你的顺序COPY到U盘上,放到任意电脑及运行吧?

提示少DLL文件?哪到本机上COPY过去吧,啥,你免是说服务器和客户机都止发一个EXE的啊,哪告你以USES里面长MidasLib

修改的数目关闭后掉了?我只是不曾说罢我的老三叠程序是足以保留数据的,如果欲保留,请谷哥clientdataset
如何提交数据吧,就一律长代码,很简单的

凡绿色的吧,要无你拿客户机程序的IP改改,然后将服务器程序放到任何一样雅微机及运行,看下可以运作吧?

 

 想要源程序鸦用:请去QQ群67803772底共享中下载吧,本站我现在尚未知道上传rar文件

文件称是:datasnapdemo不要一行代码就可知三层.zip

 

 

 

相关文章