我写来玩的一段代码var node1,node2,node3,node4:TTreenode; i,ii,iii:integer; glass1,class1 :string; begin treeview1.Items.Clear; node1:=treeview1.Items.Add(nil,'学校'); node1.ImageIndex:=0; query1.Open; for i:=1 to query1.RecordCount do begin node2:=treeview1.Items.AddChild(node1,query1.FieldByName('glass').Value); node2.ImageIndex:=1; query2.Close; query2.SQL.Clear; query2.SQL.Add('select * from class where glass='+#39+query1.FieldByName('glass').Value+#39); query2.Open; for ii:=1 to query2.RecordCount do begin node3:=treeview1.Items.AddChild(node2,query2.FieldByName('class').Value); node3.ImageIndex:=2; query3.Close; query3.SQL.Clear; query3.SQL.Add('select * from student where glass='+#39+query1.FieldByName('glass').Value+#39+'and class='+#39+query2.FieldByName('class').Value+#39); query3.Open; for iii:=1 to query3.RecordCount do begin node4:=treeview1.Items.AddChild(node3,query3.FieldByName('name_student').Value); node4.ImageIndex:=3; query3.Next; end; query2.Next; end; query1.Next; end;
第二种,自己写SQl,把数据得到后,加入树中,给点分阿,怎么一分都没有
node1,node2,node3,node4:TTreenode;
i,ii,iii:integer;
glass1,class1 :string;
begin
treeview1.Items.Clear;
node1:=treeview1.Items.Add(nil,'学校');
node1.ImageIndex:=0;
query1.Open;
for i:=1 to query1.RecordCount do
begin
node2:=treeview1.Items.AddChild(node1,query1.FieldByName('glass').Value);
node2.ImageIndex:=1;
query2.Close;
query2.SQL.Clear;
query2.SQL.Add('select * from class where glass='+#39+query1.FieldByName('glass').Value+#39);
query2.Open;
for ii:=1 to query2.RecordCount do
begin
node3:=treeview1.Items.AddChild(node2,query2.FieldByName('class').Value);
node3.ImageIndex:=2;
query3.Close;
query3.SQL.Clear;
query3.SQL.Add('select * from student where glass='+#39+query1.FieldByName('glass').Value+#39+'and class='+#39+query2.FieldByName('class').Value+#39);
query3.Open;
for iii:=1 to query3.RecordCount do
begin
node4:=treeview1.Items.AddChild(node3,query3.FieldByName('name_student').Value);
node4.ImageIndex:=3;
query3.Next;
end; query2.Next;
end;
query1.Next;
end;