实现数据库查询的Web服务器应用程序

来源:互联网 发布:网络直播的起源 编辑:程序博客网 时间:2024/04/30 09:09
    library PGuYuan_query;uses   //说明工程使用的有关文件,//注意:使用不同的Delphi版本,所使用文件和数量有差别!!!      ActiveX,      ComObj,      WebBroker,      ISAPIThreadPool,      ISAPIApp,    UGuYuan_query in 'UGuYuan_query.pas' {WebModule1: TWebModule};    {$R *.RES}    exports    //指明在本工程中使用的外部过程      GetExtensionVersion,      HttpExtensionProc,      TerminateExtension;    begin      Application.Initialize;  //应用初始化      Application.CreateForm(TWebModule1, WebModule1);    Application.Run;          //执行应用    end.    unit UGuYuan_query;    interface    uses   //定义使用的系统单元文件      Windows, Messages, SysUtils, Classes, HTTPApp, Db, DBTables, DBWeb,      DBBdeWeb, HTTPProd;    type    TWebModule1 = class(TWebModule)    Root: TPageProducer;    //页面生成组件    Query_RenYuan: TQuery;  //查询雇员的查询组件    RenYuan_QueryTableProducer: TQueryTableProducer;  //查询页面生成组件    query_Kehu: TTable;     //查询客户信息的表组件    KeHu_DataSetTableProducer: TDataSetTableProducer;  //客户信息页面生成组件    {与查询组件相对应的内部字段名}    Query_RenYuanBDEDesigner2: TStringField;    Query_RenYuanBDEDesigner5: TStringField;    Query_RenYuanBDEDesigner6: TStringField;    Query_RenYuanBDEDesigner8: TStringField;    Query_RenYuanBDEDesigner11: TDateField;    Query_RenYuanBDEDesigner12: TStringField;    query_KehuBDEDesigner2: TStringField;    query_KehuBDEDesigner3: TStringField;    query_KehuBDEDesigner5: TStringField;    query_KehuBDEDesigner6: TStringField;    query_KehuBDEDesigner8: TStringField;    query_KehuBDEDesigner11: TStringField;    Query_RenYuanBDEDesigner: TStringField;    //动作项的事件处理过程    procedure WebModule1RootAction(Sender: TObject; Request: TWebRequest;      Response: TWebResponse; var Handled: Boolean);    procedure WebModule1QueryGuyuanAction(Sender: TObject;      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);    procedure WebModule1KehuTableAction(Sender: TObject;      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);    procedure WebModuleCreate(Sender: TObject);    procedure WebModuleDestroy(Sender: TObject);    private      { Private declarations }    public      { Public declarations }    end;    var      WebModule1: TWebModule1;      implementation      {$R *.DFM}    procedure TWebModule1.WebModule1RootAction(Sender: TObject;    Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);    begin       response.content:=Root.content;    { content方法的作用是将页面生成组件Root的HTMLDoc属性中的文本转换为HTML页面,即形成第一个HTML页面。}    end;    procedure TWebModule1.WebModule1QueryGuyuanAction(Sender: TObject;    Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);    //这是动作项QueryGuyuan的事件处理过程    begin       Response.content:=RenYuan_QueryTableProducer.content;    {查询页面生成组件能够自动从HTTP请求消息中检索URL所附带的参数,如果需要的话,它可将参数传给查询组件的SQL语句。Content方法的作用是调用QueryTableProducer组件Query属性中指出的查询组件,并将查询组件的查询结果赋给TWebResponse对象的Content属性,作为HTTP响应消息的内容。}    end;    procedure TWebModule1.WebModule1KehuTableAction(Sender: TObject;    Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);    //这是动作项KehuTable的事件处理过程    begin      Query_Kehu.first;//表组件的记录指针移到第一个记录上,否则,在第二次浏览时,记录指针已到最后,//其结果是无法看到表中的内容Response.content:=KeHu_DataSetTableProducer.content;//Content方法的作用是引入在DataSetTableProducer 组件DataSet属性中指出的表/组件的内容,并赋给TWebResponse对象的Content属性,作为HTTP响应消息的内容。end;    procedure TWebModule1.WebModuleCreate(Sender: TObject);    begin      Query_Kehu.close;      Query_Kehu.open;      //当Web模块建立时,打开Kehu表,并使其处于活动状态      Query_Kehu.first;    end;    procedure TWebModule1.WebModuleDestroy(Sender: TObject);    begin       Query_Kehu.close;       //当Web模块撤消时,关闭Kehu表    end;    end.
原创粉丝点击