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.
实现数据库查询的Web服务器应用程序
最新推荐文章于 2021-08-09 02:54:09 发布