【VIP专享】delphi 三层架构CS简单例子一步步做
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
delphi 三层CS架构一步步建立的简单例子
所谓三层:
(1) 客户端
(2) 服务器端
(3) 数据库
在数据访问时,使得客户端必须通过服务器来访问数据库。提高了系统的安全性。
在Delphi中可以使用Socket或者Dcom组件来连接他们相互间的通讯。
本例使用SOCKET组件. DCOM用在局域网, SOCKET用在互联网.
环境为windows xp+ delphi 7 + access2000
创建过程:
1、请用ACCESS2000新建一个数据库database02.mdb.
2、请在delphi7执行file-new- application, 新建一个桌面,
上面放一个label, label.caption =’服务器端已运行….’
3、接下来在delphi7执行file --new--other,选择"Multitier"--"Remote data
module"。在跳出来的对话框里面输入名称(任意),例如:
AppSqlConn。选择确定,进入remote data module窗口。
界面如下图所示
4、加入组件:adodataset,点击connectionstring属性,点击后面的…,进
入设定连接窗口。在选择数据库中选择自己想要使用的数据库
database02.mdb。一般只要地址正确、用户名和密码无误,肯定可以连接通过。确定。
3、ADODATASET1在commandtext中点击后面的…,啥也不用设定,默认
配置;
4、ADODATASET1将active属性设置为false。
5、再加入组件:datasetprovider。设定其dataset属性为上面的adodataset1。
5.1 接着设置datasetprovider1的属性,poallowcommandtext=true,
其他的参数默认即可.
datasetprovider1的属性如下图所示
6、到此服务器端已经设置完成。请保存并且运行一次,从而使服务注册。
7、接下来运行delphi的bin目录下面的scktsrvr.exe,因为下面要使用
socket连接。运行后任务栏中出现socket server的图标。
文件具体位置C:\program files\borland\delphi7\bin\scktsrvr.exe
8、下面开始建客户端程序
先是新建程序(application),然后file--new--data module,会创建客户端的data module。
9、加入组件:socketconnection,在address中输入服务器的ip地址,然后
在servername中输入刚才创建的remote data module的服务程序。程序会自动在serverguid中加入id。然后选择connected属性为true。只要此处不报告错误,此程序基本成功了。
(下面图中IP地址:127.0.0.1是啥? 是WINDOWS的本机专用IP地址.也就是WINDOWS操作系统对所有的本地计算机专门分配的, 不清楚请百度)
10、接着加入组件:clientdataset,选择remoteserver属性为
socketconnection1,选择providename为服务器程序的datasetprovider。
然后选择active属性为false。Commandtext啥也不填写,如下图所示
11、切换到程序的form1程序窗口,首先选择在程序中引用刚才data module
的单元文件,
(下图中的unit12,是刚才建的data module的单元文件名)
12、然后在FORM1中加入组件datasource和dbgrid,两个BUTTON。选择
datasourece1的dataset属性为data module的clientdataset1,选择dbgrid1的datasource为这里的datasource1组件。
13.开始编写BUTTON1, BUTTON2的程序
procedure TForm1.Button1Click(Sender: TObject);
begin
unit12.DataModule2.ClientDataSet1.Close;
mandText:='select * from 用户基本信息表'; unit12.DataModule2.ClientDataSet1.Open;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
unit12.DataModule2.ClientDataSet1.Close;
mandText:='select * from 电表基本信息表where id=2'; unit12.DataModule2.ClientDataSet1.Open;
end;
14.客户端程序运行如下
15.button1运行如下
16.button2条件查询,运行如下
一切OK!
DELPHI 的CS就这么简单.
有不明白的地方,请QQ1569387918