Multi-Tier结构程序开发基础教程 (一.1)
作者:z33
多层开发的基本概念我不想多说了,我只把写一下它的这实现过程。
一、首先编写应用程序服务器,这个服务器的作用是连接数据库和客户端,起到承接客户端和数据库服务器之前的桥(暂且叫它桥吧)。
1、新建一个工程,
File - New - Application 。
2、再往新建的工程上放一个实现多层的“远程数据模板”(中文我觉得应该叫这个),
File - New - Other -Multitier - Remote Data Module - 单击OK。
3、接上一步,会出现一个对话框,
名字起好了填上去点OK就可以了。
上图中,CoClass Name就是此程序的名称,叫COM的名称,这个名称最好起一个有意义名字,因为在你做客户端的时间需要依据这个名字连接到这个服务器。比如是:multi_test (意思是多层测试)或者 X_test ,好记~而且酷!。
{下面灰色字这一段不需要看懂
下面的Instancing选择服务器的处理线程方式,现在选的是Multiple Instance是指多前客户端可共享一个线程应用程序服务器。还有Single Instance是多对多的处理方式,就是一个客户端对应一个线程应用程序,当多客户端时,服务端也会开和客户端一样多的线程运行,好处是各线程相对独立,不会相互影响,但相对比较占资源。而Internal是创建一个In-Process的COM程序(DLL文件格式),这项用得比较少,据我理解是需要和其它对象兼容而设的,这是我的理解,有不同看法欢迎讨论。
最后一个Threading Model是用它设置In-Process COM程序的多任务模式的,太多了,懒得讲了,大家自己看书吧。}
4、 继续干!拖一个Table1组件到Form1上去,设置Table1的DatabaseName为DBDEMOS,Table Name为Customer.db。(这部分是基础,我不多讲了,不懂去学学前面的知识。)再拖一个DataSetProvider1组件(不要问我ClinentDataSet组件在哪个栏里,自已找!),并设置它的DataSet属性为Table1。这里DataSetProvider组是向客户端提供数据集的接口。DataSetProvider(数据集提供者),DataSet属性是设置它的数据集是什么,这里指向Table1这个数据集。弄好了这些,我们的服务器就完成了,接下来运行即可,运行的目的是让服务器在系统中注册。
(另外你也可以在Form1上添一个Label标签,标识一下,如下图:
5、保存工程。
二、 编写客户端应用程序
1、新建一个工程。
File - New - Application
2、拖一个TDCOMConnection控件到Form1上(还是那句话,不要问我它在哪儿)。
把它的ComputerName属性设成127.0.0.1,这里要说明一下:
ComputerName这个属性是设置你要连接的服务器,填上127.0.0.1就是自己的机器,因为要在自己的机器上调试嘛。当然如果希望连到别的机器上也可以,当然前提是别的机器有已经做好并注册运行的Application Server ,简单说就是上面咱们做的应用程序服务器。举个例子,如果你要在我的机器上有已经做好并运行的Application Server,那么我的机器名是c2109,你就可以在ComputerName里填上我的c2109这个计算机名就可以连到我的机器操作了。当然也可以填IP地址,因为有些计算机名可能会引起错误,比如“可乐猫”的计算机名,好像就是“可乐猫”,中文名呀,你敢用吗?我不敢,还是用IP连接吧,是不是?
然后,再去设置ServerName的属性,这个属性里面你会找到你刚才建立的服务器名称,忘了?回去看看。
3、再拖一个TClientDataSet控件,把RemoteServer属性设置为DCOMConnection1,再把Provider属行选为DataSetProvider1。注意,当你点上Provider属性时,应用程序服务器将会被启动。(这时不要把那个服务器的窗口关掉,留着它,不然会出错!)
如下图:
4、接着拖一个TDataSource和TDBGrid,TDBNavigator到Form1上,设置DataSource1的DataSet属性为:ClientDataSet1,并把DBGrid1和DBNavigator1的DataSource属性设置为:DataSource1,最后把ClientDataSet1的Active属性设置为:True,激活。
5、保存工程,并运行,至此这个简单的Mulit-Tier已经好了,你学会了吗?
最终效果如图:
本节源程序下载 | 真正实现ApplyUpdates源程序下载
Multi-Tier结构程序开发基础教程 (一.2)
作者:z33
我们要再利用上第一节的程序,这次要往上放一些对数据操作的功能。
一、首先现在我们不用DBNavigator1,而用ActionList控件来实现数据的操作,,我们还需要自己建5个铵钮,并通过ActionList的Standard Action来实现这些功能。
1、往Form1上放5个铵钮,再拖一个Standard控件栏的最后一个控件:ActionList控件,这个控件是帮助我们快速完成铵钮功能的控件,如图:
下面我们来实现它:
a.双击ActionList控件,出现Editing Form1.ActionList1窗口,在窗口左半部空白处点鼠标右键,再选“New Standard Action...”项,如图:
b. 出现了Stand Action列表,我们在里面找到DataSet项,把这项里的所有子项都选上,再点OK,如图:
c.再设置每个按钮的Action属性为对应的Action预置功能。如下表:
源程序下载
本文地址:http://com.8s8s.com/it/it5452.htm