哪位高手能帮小弟我解释下这段Treeview的代码,给高分
谁能帮我解释下这段Treeview的代码,给高分
谁能帮我解释下这段Treeview的代码,特别是我打问号的几句,定给高分
树的结构和表中的字段如下:
公司机构【总人数】
- 一级部门department.dep
- 二级部门department.sdep
- 员工employee.name
department表和employee表是靠dep_id字段关联的,
employee表与experience、train、behave表都是靠num字段关联的。
相关代码如下:
private
{ Private declarations }
FNum: string;
Fdep_id: string;
procedure RefreshTreeView;
public
{ Public declarations }
end;
PIndexRecord = ^TIndexRecord;
TIndexRecord = packed record
num: string;
Dep_id: string;
Code: TTreeNode; ??
Next: PIndexRecord; ??
end;
var
EmpForm: TEmpForm;
Temp: PIndexRecord; ??
Flag: Boolean; ??
implementation
uses UnitDM;
{$R *.dfm}
var
FirstPointer, LastPointer, First, Last: PIndexRecord;
aqEmployee,ADQ2, ADQ3,ADQ4: TADOQuery;
procedure TEmpForm.RefreshTreeView;
var
Node0: TTreeNode;
Node1, Node2: array of TTreeNode;
i,Index1, Index2: Integer;
Temp, Temp1: PIndexRecord;
begin
dm.OpenInfo;
TreeView1.Items.Clear;
ADQ1:= TADOQUery.Create(nil);
ADQ2:= TADOQuery.Create(nil);
ADQ3:= TADOQuery.Create(nil);
ADQ4:= TADOQuery.Create(nil);
aqEmployee:=TADOQuery.Create(nil);
Index1:= 0;
ADQ1.Connection:= DM.ADOConnection1;
ADQ2.Connection:= DM.ADOConnection1;
ADQ3.Connection:= DM.ADOConnection1;
ADQ4.Connection:= DM.ADOConnection1;
aqEmployee.Connection:=DM.ADOConnection1;
FillData;
aqEmployee.Close;
aqEmployee.SQL.Clear;
aqEmployee.SQL.Add( 'select * from employee ');
aqEmployee.Open;
DM.aqEmp.Close;
DM.aqEmp.SQL.Clear;
DM.aqEmp.SQL.Add( 'select * from employee ');
DM.aqEmp.Open;
Temp:= New(PIndexRecord);
Temp1:= New(PIndexRecord);
FirstPointer:= Temp;
First:= Temp1;
ADQ1.Close;
ADQ1.SQL.Clear;
ADQ1.SQL.text:= 'Select dep_id,dep From department where dep_id in ' + #13#10 +
'(select Min(dep_id) from department group by dep) ' + #13#10 +
谁能帮我解释下这段Treeview的代码,特别是我打问号的几句,定给高分
树的结构和表中的字段如下:
公司机构【总人数】
- 一级部门department.dep
- 二级部门department.sdep
- 员工employee.name
department表和employee表是靠dep_id字段关联的,
employee表与experience、train、behave表都是靠num字段关联的。
相关代码如下:
private
{ Private declarations }
FNum: string;
Fdep_id: string;
procedure RefreshTreeView;
public
{ Public declarations }
end;
PIndexRecord = ^TIndexRecord;
TIndexRecord = packed record
num: string;
Dep_id: string;
Code: TTreeNode; ??
Next: PIndexRecord; ??
end;
var
EmpForm: TEmpForm;
Temp: PIndexRecord; ??
Flag: Boolean; ??
implementation
uses UnitDM;
{$R *.dfm}
var
FirstPointer, LastPointer, First, Last: PIndexRecord;
aqEmployee,ADQ2, ADQ3,ADQ4: TADOQuery;
procedure TEmpForm.RefreshTreeView;
var
Node0: TTreeNode;
Node1, Node2: array of TTreeNode;
i,Index1, Index2: Integer;
Temp, Temp1: PIndexRecord;
begin
dm.OpenInfo;
TreeView1.Items.Clear;
ADQ1:= TADOQUery.Create(nil);
ADQ2:= TADOQuery.Create(nil);
ADQ3:= TADOQuery.Create(nil);
ADQ4:= TADOQuery.Create(nil);
aqEmployee:=TADOQuery.Create(nil);
Index1:= 0;
ADQ1.Connection:= DM.ADOConnection1;
ADQ2.Connection:= DM.ADOConnection1;
ADQ3.Connection:= DM.ADOConnection1;
ADQ4.Connection:= DM.ADOConnection1;
aqEmployee.Connection:=DM.ADOConnection1;
FillData;
aqEmployee.Close;
aqEmployee.SQL.Clear;
aqEmployee.SQL.Add( 'select * from employee ');
aqEmployee.Open;
DM.aqEmp.Close;
DM.aqEmp.SQL.Clear;
DM.aqEmp.SQL.Add( 'select * from employee ');
DM.aqEmp.Open;
Temp:= New(PIndexRecord);
Temp1:= New(PIndexRecord);
FirstPointer:= Temp;
First:= Temp1;
ADQ1.Close;
ADQ1.SQL.Clear;
ADQ1.SQL.text:= 'Select dep_id,dep From department where dep_id in ' + #13#10 +
'(select Min(dep_id) from department group by dep) ' + #13#10 +