用Delphi開發(fā)Web服務數(shù)據(jù)庫程序

字號:

第一步:編寫服務器的應用程序
    首先在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會自動產(chǎn)生一個SOAP數(shù)據(jù)模塊, 在該模塊中加入TdataBase, Tquery, TdataSetProvider, 三個控件。
    設置各控件的屬性,跟以往的Delphi數(shù)據(jù)庫應用程序的設置基本上相同, 其中, TdataSetProvider是一個DataAccess控件, 提供遠程呼叫的支持。
    編譯執(zhí)行該應用程序, 使之注冊. 完成服務器端的應用程序設計.
    第二步:編寫客戶端的應用程序
    添加一個新的應用程序項目, 在Form窗體中添加TDBNavigator, TDBGrid控件。
    然后添加一個數(shù)據(jù)模塊, 在其中加入TSaopConnection, TclientDataSet和TdataSource控件。
    其中的TSaopConnection控件就是利用SOAP協(xié)議與遠程服務器端相聯(lián)的接口。
    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是數(shù)據(jù)模塊的名字, dsDemo1為數(shù)據(jù)模塊中的TdataSource控件的名字。
    激活TclientDataSet的Active屬性為True,編譯該項目組,把客戶端程序復制到網(wǎng)絡上的任一臺計算機, 都可執(zhí)行. 一個Web Services 的數(shù)舉庫應用程序例子完成。