Delphi编程:三层数据库构架实例解析

来源:互联网 发布:ipad设置哪有还原网络 编辑:程序博客网 时间:2024/05/21 22:33

 在数据库开发方面Delphi相对于其他众多开发工具其优势在于灵活快速,且十分稳定。开发数据库首先是要连接数据库。目前,以C-S方式通过网络运行程序,一般都使用3层方式进行数据通信。所谓的三层数据库,就是在服务器端放置一个中间层,本实例使用Remote Data Module(远程数据模块)创建,3层的好处就是把一些功能放在中间层,这样当某些功能发生转变时,既不用修改数据库,也不用修改客户端,只要修改一下中间层就可以了啊。

  首先让我们来编译服务器端,打开Delphi7,新建一个标准工程,创建一个新窗体。

  选择File菜单 -> New -> Other -> Multitier -> 选择RemoteData Module(远程数据模块) ->点"OK",进入到 " Remove Data Module Wizard "向导对话框,在其Coclass Name 输入server.,其他选项选择默认值,点击确定按钮即可。

  这样会产生一个窗体,在这个窗体里,我们可以添加数据库控件和数据库连接。这里我们介绍一下ADO控件,ADO控件是目前数据库开发中应用的主要空间之一,Delphi在对其提供了良好的支持,使用ADO连接数据库相当简单,我们先在窗体里加入一个ADOTable控件,设置其属性contectionstring,在弹出的对话框点击"Build"按钮后,弹出"数据库连接属性"对话框,设置其连接一个数据库,点击"测试连接"可测试连接是否成功。如图1所示:

delphi
图1



  再加入一个DataSetProvider控件,设置其属性DataSet指向ADOTable。这就完成了服务器端的程序设计,保存、编译。 接下来让我们来编译客户端,打开Delphi7,新建一个标准工程,创建一个新窗体。

  在新窗体上,添加一个TDCOMConnrction控件(在Datasnap页),其属性设置:

  ComputerName:服务器名(点击自动给出网上邻居)

  ServerName:应用程序服务器注册名(Project1.server),ServerName 选择后,ServerGUID会自动输入GUID值。

  Connected=true 为激活,在调试的时候,如果是在Windows xp本机的情况,可以先运行Project1.exe,然后就可以在ServerName中找到project1. server 了,然后设置Connected=true 激活。

  再添加一个TClientDataSet控件(在Data Access页),其属性设置:

  RemoteServer:DCOMConnrction1

  ProviderName: DataSetProvider1(服务器端将被激活)

  Active:true (激活后将能正常连接)

  添加TDataSource控件,设置其属性DataSet指向ClientDataSet1。

  添加TDBGrid控件,设置其属性DataSource指向DataSource1。

  这就完成了客户端的程序设计,保存、编译。这样一个三层数据库构架就基本完成了,我们可以在客户端添加数据显示控件,设置同普通数据库连接设置相同。

  客户端运行后,如图2所示:

  delphi