用Delphi开发Web Services数据库程序

类别:Delphi 点击:0 评论:0 推荐:

第一步:编写服务器的应用程序


     首先在Delphi的IDE中选择”File|New|Other…”,然后在WebServices页面中选择Soap Server Application图标,如下图所示:



    然后在New Soap Server Application对话框中选择Web App Debugger executable,如下图所示:



    点击OK按钮之后,Delphi会自动生成一个WebModule,在这个Module中会包含三个WebServices的控件,如下图所示:



     然后然后在WebServices页面中选择Soap Server Data Module图标, OK后, Delphi 弹出Soap Data Module Wizard对话框, 如下图所示:



     在Class Name中输入类名:D6DBDataModule1. 点击OK后, Delphi会自动产生一个SOAP数据模块, 在该模块中加入TdataBase, Tquery, TdataSetProvider, 三个控件, 如下图所示:



     设置各控件的属性,跟以往的Delphi数据库应用程序的设置基本上相同, 其中, TdataSetProvider是一个DataAccess控件, 提供远程呼叫的支持.


     编译执行该应用程序, 使之注册. 完成服务器端的应用程序设计.


   第二步:编写客户端的应用程序


     添加一个新的应用程序项目, 在Form窗体中添加TDBNavigator, TDBGrid控件, 如下图所示:



     然后添加一个数据模块, 在其中加入TSaopConnection, TclientDataSet和TdataSource控件, 如下图所示:



     其中的TSaopConnection控件就是利用SOAP协议与远程服务器端相联的接口. 该控件的属性设置如下图所示, TsaopConnection的URL的格式:


http://WebServer的地址/ WebService的应用程序名称/soap/SoapServerDataModule的名称



     然后设置TclientDataSet控件的属性, 设置RemoteServer的属性为TsaopConnection控件的名字, 点选ProviderName.


     接下来, 在窗体所在的单元添加如下代码:


unit Unit4;


interface


uses


  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,


  Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids;


type


  TForm4 = class(TForm)


    DBGrid1: TDBGrid;


    DBNavigator1: TDBNavigator;


  private


    { Private declarations }


  public


    { Public declarations }


  end;


var


  Form4: TForm4;


implementation


  uses Unit5,DB;  //引用DataModule所在单元;


{$R *.dfm}


end.


    设置TDBNavigator,TDBGri控件的DataSource的属性为dmDemo1.dsDemo1, 其中, dmDemo1是数据模块的名字, dsDemo1为数据模块中的TdataSource控件的名字.


    激活TclientDataSet的Active属性为True, Form窗体得到如下的画面.



    编译持行该项目组,把客户端程序复制到网络上的任一台计算机, 都可执行. 一个Web Services 的数举库应用程序例子完成.


 


参考资料:实战Delphi6/Kylix2:SOAP/Web Service程序设计篇 , 作者:李维


本例的设计思想大多来自该书, 以及一些控件的名字


 


 


 

本文地址:http://com.8s8s.com/it/it5656.htm