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.