什么是三层数据库!! 高手们什么是三层数据库!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 多层结构是因网络发展的需要而出现的产物,运用面向对象技术,分离用户界面和企业逻辑,解决了两层结构的维护成本高,客户端臃肿等弊端,且改善了延展性。在Delphi中采用MIDAS技术,运用COM/DCOM/COM+或CORBA标准,为多层结构的开发提供了强大功能,增加了开发人员的生产力。用MIDAS创建多层结构数据库应用程序实例建立多层结构应用系统,必须先建立应用程序服务器,并运行注册之,再建立客户端。下面就以笔者创建的一个三层结构为例来介绍用D elphi实现三层结构的步骤。(假设在应用程序服务器上已设好BDE连接,连到远程数据库服务器。)2.2.1 建立应用程序服务器。(在应用程序服务器上建立)(1)使用File菜单下的New Application建立一个新应用程序。(2)创建远程模块。使用File菜单下的New打开New Items对话框,在Multitier选项下,双击Remote Data Module,设置Classname 为rdm,Instancing及Threading Module属性取默认值。(3)在该远程模块上放一个Query1(Tqueyr组件),DatabaseName属性中指定为要访问的数据库,如“出版社”。在该远程模块上再增加一个DataSetProvider1(TDataSetProvider组件),DataSet 属性设为Query1,Options属性中令poAlloCommandtext为true。(设为true,则客户端应用程序中TClientDataSet的属性commandtext中的SQL语句就可以通过IAppServer接口传递。)至此,应用程序服务器已创建完毕,运行该应用程序服务器在系统中注册它,在应用程序服务器上运行ScktSrvr.exe文件,这样今后客户端程序就可以调用该应用程序服务器。2.2.2 创建客户端应用程序。(在客户端机器上创建)(1)建立数据模块。使用File菜单下的New Application建立一个新应用程序。在New Item中双击Data Module建立一个数据模块(命名为dm),在该模块上放一个连接组件SocketConnection1 (TsocketConnection组件),其IP属性中指定应用程序服务器的IP地址,在Port属性中取默认值211,在ServerName属性中设置应用程序服务器(在这里,应用程序服务器就是上面创建的名为rdm的应用程序服务器。),这样就可以定位应用程序服务器和IAppServer接口。在dm数据模块上再增加一个ClientDataSet1(TClientDataSet组件),其RemoteServer属性设为SocketConnection1,ProviderName为DataSetProvider1。保存该unit为dm。(2)创建用户界面。使用File菜单下的New Form新建一个unit,在该unit中引用上面建立的数据模块单元dm。在用户界面Form上添加DataSource1(TdataSource组件),其DataSet属性设为dm.ClientDataSet1,即上面数据模块中的客户端数据集组件。添加一个DBGrid1(TDBGrid组件),DataSource属性设为DataSource1。添加一个Btton1组件,caption属性为“查询”,其click事件中程序代码为:procedure TForm1.Button1click(sender:Tobject);begin with dm.ClientDataSet1 do begin close; commandtext:=’select * from 书’; open; end;end;至此该三层结构已创建完毕,保存运行客户端应用程序,点击查询按钮(即Btton1按钮),则客户端应用程序将激活应用服务器程序,通过IAppServer接口把dm.ClientDataSet1中的SQL语句传到Query1,Query1通过BDE访问数据库服务器,查到的数据再通过IAppServer接口传给dm.ClientDataSet1,并在DBGrid1上显示出来。 如何判断某热键已被注册 请问个压缩解压缩和加密解密的问题。 请问:哪位大虾用过KOL(Key Objects Library)控件?请赐教... 怎么得到数据库表的所有非空字段 delphi为客户端,调用webservices 临时表问题?? 关于DbGrid的应用问题? 向高手求救! 转让一本Delphi书籍 Delphi题目 怎样在dll中隐藏输出的函数名???急!!! 如何写入一行文本,在线等候
用MIDAS创建多层结构数据库应用程序实例
建立多层结构应用系统,必须先建立应用程序服务器,并运行注册之,再建立客户端。下面就以笔者创建的一个三层结构为例来介绍用D elphi实现三层结构的步骤。(假设在应用程序服务器上已设好BDE连接,连到远程数据库服务器。)
2.2.1 建立应用程序服务器。(在应用程序服务器上建立)
(1)使用File菜单下的New Application建立一个新应用程序。
(2)创建远程模块。使用File菜单下的New打开New Items对话框,在Multitier选项下,双击Remote Data Module,设置Classname 为rdm,Instancing及Threading Module属性取默认值。
(3)在该远程模块上放一个Query1(Tqueyr组件),DatabaseName属性中指定为要访问的数据库,如“出版社”。在该远程模块上再增加一个DataSetProvider1(TDataSetProvider组件),DataSet 属性设为Query1,Options属性中令poAlloCommandtext为true。(设为true,则客户端应用程序中TClientDataSet的属性commandtext中的SQL语句就可以通过IAppServer接口传递。)
至此,应用程序服务器已创建完毕,运行该应用程序服务器在系统中注册它,在应用程序服务器上运行ScktSrvr.exe文件,这样今后客户端程序就可以调用该应用程序服务器。
2.2.2 创建客户端应用程序。(在客户端机器上创建)
(1)建立数据模块。使用File菜单下的New Application建立一个新应用程序。在New Item中双击Data Module建立一个数据模块(命名为dm),在该模块上放一个连接组件SocketConnection1 (TsocketConnection组件),其IP属性中指定应用程序服务器的IP地址,在Port属性中取默认值211,在ServerName属性中设置应用程序服务器(在这里,应用程序服务器就是上面创建的名为rdm的应用程序服务器。),这样就可以定位应用程序服务器和IAppServer接口。在dm数据模块上再增加一个ClientDataSet1(TClientDataSet组件),其RemoteServer属性设为SocketConnection1,ProviderName为DataSetProvider1。保存该unit为dm。
(2)创建用户界面。使用File菜单下的New Form新建一个unit,在该unit中引用上面建立的数据模块单元dm。在用户界面Form上添加DataSource1(TdataSource组件),其DataSet
属性设为dm.ClientDataSet1,即上面数据模块中的客户端数据集组件。添加一个DBGrid1(TDBGrid组件),DataSource属性设为DataSource1。添加一个Btton1组件,caption属性为“查询”,其click事件中程序代码为:
procedure TForm1.Button1click(sender:Tobject);
begin
with dm.ClientDataSet1 do
begin
close;
commandtext:=’select * from 书’;
open;
end;
end;
至此该三层结构已创建完毕,保存运行客户端应用程序,点击查询按钮(即Btton1按钮),则客户端应用程序将激活应用服务器程序,通过IAppServer接口把dm.ClientDataSet1中的SQL语句传到Query1,Query1通过BDE访问数据库服务器,查到的数据再通过IAppServer接口传给dm.ClientDataSet1,并在DBGrid1上显示出来。