📄 udata.pas
字号:
unit udata;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TdmPer = class(TDataModule)
acPer: TADOConnection;
aqSta: TADOQuery;
dsSta: TDataSource;
aqDep: TADOQuery;
dsDep: TDataSource;
aqExper: TADOQuery;
dsExper: TDataSource;
aqFami: TADOQuery;
dsFami: TDataSource;
aqAP: TADOQuery;
dsAP: TDataSource;
aqTrain: TADOQuery;
dsTrain: TDataSource;
aqStaf: TADOQuery;
aqExperf: TADOQuery;
aqAPf: TADOQuery;
aqFamif: TADOQuery;
aqTrainf: TADOQuery;
aqStat: TADOQuery;
aqSDep: TADOQuery;
dsSDep: TDataSource;
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure OpenQuery(aqData: TADOQuery; aSQlStr: string);
procedure ExecQuery(aSQlStr: string); overload;
procedure ExecQuery(aqData: TADOQuery; aSQlStr: string); overload;
procedure OpenDep;
procedure OpenSDep;
procedure OpenStaInfo;
procedure OpenExper;
procedure OpenFami;
procedure OpenAP;
procedure OpenTrain;
procedure OpenStat(aWhr, aGrpStr: string);
procedure OpenStaf(aId: string);
procedure OpenExperf(aPid: string);
procedure OpenFamif(aPid: string);
procedure OpenAPf(aPid: string);
procedure OpenTrainf(aPid: string);
end;
var
dmPer: TdmPer;
implementation
{$R *.dfm}
{ TdmPer }
procedure TdmPer.DataModuleCreate(Sender: TObject);
begin
if acPer.Connected = false then acPer.Open;
end;
procedure TdmPer.DataModuleDestroy(Sender: TObject);
begin
if acPer.Connected then acPer.Close;
end;
procedure TdmPer.OpenQuery(aqData: TADOQuery; aSqlStr: string);
begin
with aqData do
begin
if Active then Close;
Connection := acPer;
LockType := ltBatchOptimistic;
SQL.Clear;
SQL.Text := aSqlStr;
Open;
end;
end;
procedure TdmPer.ExecQuery(aSQlStr: string);
var
aqExec: TADOQuery;
begin
aqExec := TADOQuery.Create(self);
with aqExec do
begin
Connection := acPer;
SQL.Clear;
SQL.Text := aSqlStr;
ExecSQL;
end;
aqExec.Free;
end;
procedure TdmPer.ExecQuery(aqData: TADOQuery; aSQlStr: string);
begin
with aqData do
begin
if Active then Close;
Connection := acPer;
SQL.Clear;
SQL.Text := aSqlStr;
ExecSQL;
end;
end;
procedure TdmPer.OpenDep;
begin
OpenQuery(aqDep, 'select dep from dept order by ornum');
end;
procedure TdmPer.OpenSDep;
begin
OpenQuery(aqSDep, 'select dep, sdep from sdep order by ornum');
end;
procedure TdmPer.OpenStaInfo;
begin
OpenQuery(aqSta, 'select * from staInfo');
end;
procedure TdmPer.OpenExper;
begin
OpenQuery(aqExper, 'select * from wexper');
end;
procedure TdmPer.OpenFami;
begin
OpenQuery(aqFami, 'select * from family');
end;
procedure TdmPer.OpenAP;
begin
OpenQuery(aqAP, 'select * from aandp');
end;
procedure TdmPer.OpenTrain;
begin
OpenQuery(aqTrain, 'select * from train');
end;
{统计所需过程 Access不支持Group By All查询语句}
procedure TdmPer.OpenStat(aWhr, aGrpStr: string);
begin
OpenQuery(aqStat, 'select '+ aGrpStr +', count(id) as sCount from stainfo where 0=0 '
+ aWhr + ' group by '+ aGrpStr);
end;
procedure TdmPer.OpenStaf(aId: string);
begin
OpenQuery(aqStaf, 'select * from staInfo where id=' + aId);
end;
procedure TdmPer.OpenExperf(aPid: string);
begin
OpenQuery(aqExperf, 'select * from wexper where sid=' + aPid);
end;
procedure TdmPer.OpenFamif(aPid: string);
begin
OpenQuery(aqFamif, 'select * from family where sid=' + aPid);
end;
procedure TdmPer.OpenAPf(aPid: string);
begin
OpenQuery(aqAPf, 'select * from aandp where sid=' + aPid);
end;
procedure TdmPer.OpenTrainf(aPid: string);
begin
OpenQuery(aqTrainf, 'select * from train where sid=' + aPid);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -