M
muyixin
Unregistered / Unconfirmed
GUEST, unregistred user!
两张表 都在access数据库information中
表1
Class Number
A 35
B 30
C 32
表2
name class
jack A
Join A
Lily A
Lucy B
Llei B
.....
我想把上面的内容添加到 treeview中
第一级节点为class 第二级节点为 name
达到这样的效果
A
Jack
Join
Lily
B
Lucy
LIei
......
我用ADOQuery1 ADOQuery2操作两张表 现在虽然实现了 但总觉得有更优的实现方法 大侠们看看
下面时我实现方法
var NewNode:TTreeNode;
with ADOQuery1 do
begin
Close;
SQL.Clear;
S:='Select *from 表1 Order BY Class ASC'; //首先把表1的内容按照class排序
SQL.Add(S);
Prepared:=True;
Open;
First;
while not Eof do //添加class到第一级节点
begin
if TreeView.Items.Count=0 then //如果treeview中没有目录
begin
NewNode:=TreeView.Items.Add
(nil,ADOQuery1.FieldValues['Class']);
end
else begin
NewNode:=TreeView.Items.Add
(NewNode,ADOQuery1.FieldValues['Class']);
end;
ADOQuery2.Close; //为班级添加同学
ADOQuery2.SQL.Clear;
S:='Select *from 表2 where Class='+'"'+ //选择和表1class相同记录
(ADOQuery1.FieldValues['Class'])+'"';
ADOQuery2.SQL.Add(S);
ADOQuery2.Prepared:=True;
ADOQuery2.Open;
ADOQuery2.First;
while (not ADOQuery2.Eof) do
begin
TreeView.Items.AddChild(NewNode,ADOQuery2.FieldValues
['Name']);
ADOQuery2.Next; //添加下一个name
end;
Next; //继续添加下一个class
end;
end;
ADOQuery1.Close;
ADOQuery2.Close;
表1
Class Number
A 35
B 30
C 32
表2
name class
jack A
Join A
Lily A
Lucy B
Llei B
.....
我想把上面的内容添加到 treeview中
第一级节点为class 第二级节点为 name
达到这样的效果
A
Jack
Join
Lily
B
Lucy
LIei
......
我用ADOQuery1 ADOQuery2操作两张表 现在虽然实现了 但总觉得有更优的实现方法 大侠们看看
下面时我实现方法
var NewNode:TTreeNode;
with ADOQuery1 do
begin
Close;
SQL.Clear;
S:='Select *from 表1 Order BY Class ASC'; //首先把表1的内容按照class排序
SQL.Add(S);
Prepared:=True;
Open;
First;
while not Eof do //添加class到第一级节点
begin
if TreeView.Items.Count=0 then //如果treeview中没有目录
begin
NewNode:=TreeView.Items.Add
(nil,ADOQuery1.FieldValues['Class']);
end
else begin
NewNode:=TreeView.Items.Add
(NewNode,ADOQuery1.FieldValues['Class']);
end;
ADOQuery2.Close; //为班级添加同学
ADOQuery2.SQL.Clear;
S:='Select *from 表2 where Class='+'"'+ //选择和表1class相同记录
(ADOQuery1.FieldValues['Class'])+'"';
ADOQuery2.SQL.Add(S);
ADOQuery2.Prepared:=True;
ADOQuery2.Open;
ADOQuery2.First;
while (not ADOQuery2.Eof) do
begin
TreeView.Items.AddChild(NewNode,ADOQuery2.FieldValues
['Name']);
ADOQuery2.Next; //添加下一个name
end;
Next; //继续添加下一个class
end;
end;
ADOQuery1.Close;
ADOQuery2.Close;