同上
解决方案 »
- delphi中如何实现按比例最大化不变形
- delphi+sql技術論壇群 10998525 歡迎加入探討
- 当按窗口标题栏上的最小化按钮时,如何去执行别的事件?
- 能解释一下TObject是个什么样的类型?--Delphi初学高分求教。
- DELPHI 高手帮忙看一下下面的代码
- 求代码!!!
- 请问,怎样在.delphi7中,添加一个第三方或在网上下载的控件呀?很急!!!!谁能现在就回答呀!给高分的呀!:)
- Delphi的错误处理,简单...(在线等待,马上给分)
- 难道用locate()就不能实现记录的继续查找吗?非用sql不可吗?为什么没有人回答??谢谢了,各位大侠!!
- 建立了三个listview,怎么实现三个控件的滚动条同步滚动?
- 一个指问题,先谢了
- 数据库还原问题!
(转)
在一张表里建一棵树。
Table->Field->Index_ID,Parent_ID,Field_Name
Index_ID:是指节点编号。
Parent_ID:是指父节点编号。
Field_Name:是指树的节点名。
____________________________________________
|___Index_Id_|___Parent_ID|____Field_Name__|
|_______1____|____0_______|____浙江省______|
|_______2____|____1_______|____杭州市______|
|_______3____|____1_______|____宁波市______|
|_______4____|____2_______|____西湖区______|
|_______5____|____0_______|____江苏省______|
|_______6____|____5_______|____扬州市______|
|_______7____|____5_______|____苏州市______|
结果:
+--浙江省
| |__杭州市
| | |__西湖区
| |__宁波市
|
+----江苏省
|__扬州市
|__苏州市 procedure TForm1.newtreeview(Node:TTreeNode;ParentID:integer);
var
tmpNode : TTreeNode;
ADOquery1 : TADOQuery;
begin
ADOQuery1 := TADOQuery.Create(self);
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Text := 'select * from table where Parent_ID ='+inttostr(ParentID);
ADOQuery1.open;
if ADOQuery1.recordcount > 0 then
begin
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
tmpNode := TreeView1.Items.AddChild(Node,ADOQuery1.FieldByName('Field_Name').AsString);
Newtreeview(tmpNode,ADOQuery1.FieldByName('Index_ID').AsInteger);
ADOQuery1.next;
end;
end;
ADOQuery1.Free;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
newtreeview(nil,0);
end;