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

字號:

第一步:編寫服務(wù)器的應(yīng)用程序
    首先在Delphi的IDE中選擇”File|New|Other…”,然后在WebServices頁面中選擇Soap Server Application圖標(biāo)。
    然后在New Soap Server Application對話框中選擇Web App Debugger executable。
    點(diǎn)擊OK按鈕之后,Delphi會自動生成一個WebModule,在這個Module中會包含三個WebServices的控件。
    然后然后在WebServices頁面中選擇Soap Server Data Module圖標(biāo), OK后, Delphi 彈出Soap Data Module Wizard對話框。
    在Class Name中輸入類名:D6DBDataModule1. 點(diǎn)擊OK后, Delphi會自動產(chǎn)生一個SOAP數(shù)據(jù)模塊, 在該模塊中加入TdataBase, Tquery, TdataSetProvider, 三個控件。
    設(shè)置各控件的屬性,跟以往的Delphi數(shù)據(jù)庫應(yīng)用程序的設(shè)置基本上相同, 其中, TdataSetProvider是一個DataAccess控件, 提供遠(yuǎn)程呼叫的支持。
    編譯執(zhí)行該應(yīng)用程序, 使之注冊. 完成服務(wù)器端的應(yīng)用程序設(shè)計.
    第二步:編寫客戶端的應(yīng)用程序
    添加一個新的應(yīng)用程序項(xiàng)目, 在Form窗體中添加TDBNavigator, TDBGrid控件。
    然后添加一個數(shù)據(jù)模塊, 在其中加入TSaopConnection, TclientDataSet和TdataSource控件。
    其中的TSaopConnection控件就是利用SOAP協(xié)議與遠(yuǎn)程服務(wù)器端相聯(lián)的接口。
    http://WebServer的地址/ WebService的應(yīng)用程序名稱/soap/SoapServerDataModule的名稱
    然后設(shè)置TclientDataSet控件的屬性, 設(shè)置RemoteServer的屬性為TsaopConnection控件的名字, 點(diǎn)選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.
    設(shè)置TDBNavigator,TDBGri控件的DataSource的屬性為dmDemo1.dsDemo1, 其中, dmDemo1是數(shù)據(jù)模塊的名字, dsDemo1為數(shù)據(jù)模塊中的TdataSource控件的名字。
    激活TclientDataSet的Active屬性為True,編譯該項(xiàng)目組,把客戶端程序復(fù)制到網(wǎng)絡(luò)上的任一臺計算機(jī), 都可執(zhí)行. 一個Web Services 的數(shù)舉庫應(yīng)用程序例子完成。