
| 出版日期:1999-09-06 总期号:855 本年期号:65 |
|
用delphi 3开发midas应用程序
王发军 在borland的midas(multi-tier distributed application services site)概念中,典型的数据库应用系统由三层结构组成。 下面以一个三层数据库应用系统为例,介绍如何用delphi 3开发midas应用程序,以建立一个“瘦”客户端应用系统。 一、建立一个midas服务器程序(delphi 3.0 c/s) 建立一个midas服务器程序,简单来说,就是为客户端的tclientdataset建立一个remote dataset。 1.建立一个新的应用程序(application)。 2.增加一个remote datamodule。 file→new→remote datamodule,设置其classname(如rdmtest),设置其instancing为multiple instance(缺省值)。 3.在remote datamodule上,增加一个querytest(tquery)和providertest(tprovider),并且设置providertest的属性dataset使providertest.dataset := querytest。 4.鼠标右击providertest,选择“export providertest from datamodule”,delphi将自动产生一个函数get—providertest,使客户端机器可以访问providertest。 5.指定providertest的ondatarequest事件,处理客户端的数据请求。 { 假设客户端发送的请求为一个sql查询语句,则将查询结果返回给客户端 } function trmdtest.providertestdatarequest(sender: tobject; input: olevariant): olevariant; begin with querytest do begin close; databasename := extractfilepath( application.exename ); sql.text := input; //客户端发送的请求为一个sql查询语句 open; end; result := providertest.data;//返回结果 end; 6.保存文件,编译并运行该midas服务器程序来注册该midas服务器程序。 7.服务器应用程序时转移到另一台机器上时,应在新服务器上运行一次以重新注册,同时修改客户端设置。 二、建立一个midas客户端程序(delphi 3.0 c/s) 建立一个midas客户端程序,简单来说,客户端用tclientdataset通过tremoteserver向midas服务器程序请求数据。 1.建立一个新的应用程序(application)。 2.增加一个窗体(tform),如formclienttest。 3.指定服务端的midas服务器程序。在formclienttest上,增加一个tremoteserver如remoteservertest,并且在其servername属性的下拉选择表中选择rmdtest,即remoteservertest.servername := rmdtest。如果rmdtest不在本计算机上,则还要首先指定属性computername。 4.增加客户端数据集tclientdataset。在formclienttest上,增加一个tclientdataset如clientdatasettest,并且设置其remoteserver属性使clientdatasettest.remoteserver := remoteservertest,然后设置其providername属性使clientdatasettest.providername := providertest。 5.在formclienttest上,增加一个datasourcetest(tdatasource)和一个dbgridtest(tdbgrid),其中datasourcetest的dataset属性值为clientdatasettest,dbgridtest的datasource属性值为datasourcetest。 6.用tclientdataset向midas服务器程序请求数据。 procedure tformclienttest.button1click(sender: tobject); begin remoteservertest.connected := true; //连接midas服务器程序发送一个sql查询语句 clientdatasettest.data := clientdatasettest.provider.datarequest( ′select * from items′); clientdatasettest.open;//获取数据 end; 7.编译并运行该midas客户端程序。当midas客户端程序开始运行时,midas服务器端程序将随客户端程序开始运行。 8.分发客户端应用程序时,除了自己的程序和数据外,同时只需要分发dbclient.dll文件即可,它用来与midas服务器建立连接。 以上程序在pwin 98+delphi 3.0下调试通过。 |
|||||||||||||||||