创建一个三层示例程序(Delphi7+Sql Server2005)
参照《Delphi 5.x 分布式多层应用系统篇》第27页
分两步:
1. 服务端;
2. 客户端;
一、创建服务端
1. 创建一个新的工程;
2. 创建远程数据模块
(1) FileèNewèOtherèMultitierèRemote Data Module;
(2) 添加AdoConnection控件;设置其connectionString属性,连上欲连接的数据库;设置Connected为True;
(3) 添加AdoQuery控件,设置其Connection属性,为上一个控件;然后设置其Sql,即要取的一个表;
(4) 添加DataSetProvider控件,它在DataAccess标签下;设置其DataSet属性为上一个控件;
综述:服务端只需3个控件,即做好连接实际数据库,并向客户端提供Provider接口,该Provider接口游DataSetProvider控件实现;客户端的ClientDataSet控件要连接它;
二、创建客户端
1. 先创建一个新的工程;
2. 添加SocketConnection(在DataSnap标签下)控件;设置其host属性;scktsrvr.exe就会启动,然后拷贝其InterCept Guid进InterCept Guid属性;接着设置属性ServerName为方才建立的服务端;最后设置Connected属性为True;
3. 添加ClientDataSet控件,设置其RemoteServer属性为刚建立的SocketConnection1,ProviderName属性为服务端的DataSetProvider控件;设置Active为True;
4. 添加DataSource控件;添加DBGrid控件,直接照原来的连接就是了;
总结:以上方法,只是取出一个表的数据,服务端添加了DataSetProvider控件向客户端提供数据接口;客户端采用了SocketConnection连接服务端;
写于2010-7-4晚