【delphi开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了delphi开源代码-EmployeeQueryPas.pas的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
unit EmployeeQueryPas;
interface
uses
Windows, Messages, SysUtils, Classes, HTTPApp, WebModu, HTTPProd,
WebAdapt, WebComp, DBAdapt, CompProd, PagItems, SiteProd, WebForm,
MidItems,DB;
type
TEmployeeQuery = class(TWebPageModule)
AdapterPageProducer: TAdapterPageProducer;
DataSetValuesList1: TDataSetValuesList;
Adapter1: TAdapter;
AdapterAction1: TAdapterAction;
EmployeeName: TAdapterField;
QueryResult: TAdapterField;
AdapterForm1: TAdapterForm;
AdapterFieldGroup1: TAdapterFieldGroup;
AdapterFieldGroup2: TAdapterFieldGroup;
AdapterCommandGroup1: TAdapterCommandGroup;
FldEmployeeName: TAdapterDisplayField;
FldQueryResult: TAdapterDisplayField;
CmdEmployeeQuery: TAdapterActionButton;
procedure AdapterAction1Execute(Sender: TObject; Params: TStrings);
procedure EmployeeNameGetValue(Sender: TObject; var Value: Variant);
procedure QueryResultGetValue(Sender: TObject; var Value: Variant);
procedure Adapter1BeforeExecuteAction(Sender, Action: TObject;
Params: TStrings; var Handled: Boolean);
procedure AdapterPageProducerHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings;
var ReplaceText: String);
private
{ Private declarations }
public
{ Public declarations }
LEmployeeName,LQueryResult:String;
//查询雇员的名称,及查询结果临时变量
end;
function EmployeeQuery: TEmployeeQuery;
implementation
{$R *.dfm} {*.html}
uses WebReq, WebCntxt, WebFact, Variants, Data;
function EmployeeQuery: TEmployeeQuery;
begin
Result := TEmployeeQuery(WebContext.FindModuleClass(TEmployeeQuery));
end;
procedure TEmployeeQuery.AdapterAction1Execute(Sender: TObject;
Params: TStrings);
var
PhotoFile:String;
//图象文件名称定义
begin
//雇员信息查询设置
With dm do
begin
EmployeeQuery.Close ;
EmployeeQuery.Parameters[0].Value:=LEmployeeName;
EmployeeQuery.Open ;
if EmployeeQuery.RecordCount >0 then
begin
LQueryResult:='已经找到相应的记录';
PhotoFile:=Format('c:\%s.jpg',['Result']);
TGraphicField(EmployeeQuery.FieldByName('Photo')).SaveToFile(PhotoFile);
//将照片信息从数据库中提出出来,并保存为c:\Result.jpg
end
Else
LQueryResult:=Format('没有查找到为%s的雇员信息',[LEmployeeName]);
//显示没有这些记录
end;
end;
procedure TEmployeeQuery.EmployeeNameGetValue(Sender: TObject;
var Value: Variant);
begin
//回显相应的雇员
Value:=LEmployeeName;
end;
procedure TEmployeeQuery.QueryResultGetValue(Sender: TObject;
var Value: Variant);
begin
//回显相应的查询结果提示信息
Value:=LQueryResult;
end;
procedure TEmployeeQuery.Adapter1BeforeExecuteAction(Sender,
Action: TObject; Params: TStrings; var Handled: Boolean);
begin
//初始化 LEmployeeName,LQueryResult 这两个值
if Assigned (EmployeeName.ActionValue) then
LEmployeeName:= EmployeeName.ActionValue.Values [0];
if Assigned (QueryResult.ActionValue) then
LQueryResult:= QueryResult.ActionValue.Values [0];
end;
procedure TEmployeeQuery.AdapterPageProducerHTMLTag(Sender: TObject;
Tag: TTag; const TagString: String; TagParams: TStrings;
var ReplaceText: String);
begin
//用相应的动态标记替换数据库中的相应雇员照片内容
if TagString='Photo' then
ReplaceText:='<img border="0" src="file:///c:\Result.jpg" width="120" height="145">'
//雇员照片图象文件被保存为C:\Result.jpg
end;
initialization
if WebRequestHandler <> nil then
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(TEmployeeQuery, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html', '', '雇员信息查询'), crOnDemand, caCache));
end.