📄 uqryinfo.pas
字号:
unit uQryInfo;
interface
uses
Windows, Messages, SysUtils, Classes, HTTPApp, WebModu, HTTPProd, DBTables, DB,
CompProd, PagItems, SiteProd, WebComp, MidItems, WebForm, WebAdapt,ADODB, DBAdapt;
type
TQryinfo = class(TWebPageModule)
appBasicInfo: TAdapterPageProducer;
LayoutGroup1: TLayoutGroup;
adfBInfo: TAdapterForm;
AdapterFieldGroup1: TAdapterFieldGroup;
AdpDetail: TAdapter;
AdapterImageField1: TAdapterImageField;
adfPhoto: TAdapterForm;
AdapterFieldGroup3: TAdapterFieldGroup;
FldAdapterImageField12: TAdapterDisplayField;
adfEdu: TAdapterForm;
AdapterGrid1: TAdapterGrid;
ColEDUDEGREE: TAdapterDisplayColumn;
ColDEGREE: TAdapterDisplayColumn;
ColEDUSYSTEM: TAdapterDisplayColumn;
ColMAJOR: TAdapterDisplayColumn;
ColGRDTIME: TAdapterDisplayColumn;
ColGRDSCHOOL: TAdapterDisplayColumn;
adfACHI: TAdapterForm;
adfRES: TAdapterForm;
AdapterForm6: TAdapterForm;
AdapterGrid2: TAdapterGrid;
ColACHIEVEMENT: TAdapterDisplayColumn;
ColTIMEBEGIN: TAdapterDisplayColumn;
ColTIMEEND: TAdapterDisplayColumn;
ColDETAIL: TAdapterDisplayColumn;
AdapterGrid3: TAdapterGrid;
ColTIMEBEGIN2: TAdapterDisplayColumn;
ColTIMEEND2: TAdapterDisplayColumn;
ColUNIT: TAdapterDisplayColumn;
ColDEP: TAdapterDisplayColumn;
ColJOB: TAdapterDisplayColumn;
ColRANK: TAdapterDisplayColumn;
ColPOST: TAdapterDisplayColumn;
ColTYPEOFWORK: TAdapterDisplayColumn;
adfUpLoad: TAdapterFileField;
adaUpload: TAdapterAction;
FldEMPID: TAdapterDisplayField;
FldNAME: TAdapterDisplayField;
FldOLDNAME: TAdapterDisplayField;
FldSEX: TAdapterDisplayField;
FldBIRTHDAY: TAdapterDisplayField;
FldIDNO: TAdapterDisplayField;
FldNATIVEPLACE: TAdapterDisplayField;
FldAGEWORK: TAdapterDisplayField;
FldTIMEJOIN: TAdapterDisplayField;
FldHOMEADDS: TAdapterDisplayField;
FldTEL: TAdapterDisplayField;
FldDEP: TAdapterDisplayField;
FldMARRIAGE: TAdapterDisplayField;
FldSTATUS: TAdapterDisplayField;
FldNATION: TAdapterDisplayField;
FldTECHPOST: TAdapterDisplayField;
FldEDUCATION: TAdapterDisplayField;
FldADMJOB: TAdapterDisplayField;
FldTYPEOFEMP: TAdapterDisplayField;
FldHEALTH: TAdapterDisplayField;
FldRANK: TAdapterDisplayField;
FldSTATEOFEMP: TAdapterDisplayField;
procedure AdapterImageField1GetParams(Sender: TObject;
Params: TStrings);
procedure AdapterImageField1GetImage(Sender: TObject; Params: TStrings;
var MimeType: String; var Image: TStream; var Owned: Boolean);
private
FPhotoFile: string;
FEmpID:String;
public
{ Public declarations }
end;
function Qryinfo: TQryinfo;
implementation
{$R *.dfm} {*.html}
uses WebReq, WebCntxt, WebFact, Variants,wdmDB, home;
function Qryinfo: TQryinfo;
begin
Result := TQryinfo(WebContext.FindModuleClass(TQryinfo));
end;
procedure TQryinfo.AdapterImageField1GetParams(Sender: TObject;
Params: TStrings);
var
BS: TADOBlobStream;
begin
try
FPhotoFile:=ExtractFilePath(GetModuleName(HInstance))+ 'images\1.jpg';
//利用参数化查询在Photo表中找到为当前工号的记录。
WDM.adqPhoto.Close;
FEmpID:=WDM.adtBasicInfo.FieldByName('EmpId').AsString; //利用 FEmpID传递当前工号值
WDM.adqPhoto.Parameters[0].Value:=FEmpID;
WDM.adqPhoto.Open;
if WDM.adqPhoto.RecordCount>0 then
//通过ADOBlob流,将照片从 Photo表中提出存为可以在页面中显示的图像文件。
TBlobField(WDM.adqPhoto.FieldByName('photo')).SaveToFile(FPhotoFile)
else
begin
FPhotoFile:=ExtractFilePath(GetModuleName(HInstance))
+ 'images\0.jpg' ;
//如果Photo表中没有当前工号的记录就新建一个记录,插入一个缺省的作为无照片标记图像文件。
with wdm.adqPhoto do
begin
if not (State in [dsInsert, dsEdit]) then Insert;
FieldByName('EmpId').asstring:=FEmpID;
TBlobField(FieldByName('photo')).LoadFromFile(FPhotoFile);
post;
close;
end;
end;
except
raise EAdapterException.Create('出错。')
end;
end;
procedure TQryinfo.AdapterImageField1GetImage(Sender: TObject;
Params: TStrings; var MimeType: String; var Image: TStream;
var Owned: Boolean);
begin
//FPhotoFile:=Params.Values['photoname'];
try
Image:=TFileStream.Create(FPhotoFile,fmOpenRead);
except
raise EAdapterException.Create('调用图像出错。');
end;
end;
initialization
if WebRequestHandler <> nil then
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(TQryinfo, TWebPageInfo.Create([wpLoginRequired], '.html', '', '详细档案'), crOnDemand, caCache));
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -