S
sun100
Unregistered / Unconfirmed
GUEST, unregistred user!
表SPLBB有4个字段<br>lbbm(编码) lbmc(名称) fjd(父结点) cs(层数)<br>X超市 00000000 null 0<br>AA 01000000 X超市 1<br>AAC 01010000 AA 2<br>AD 01010100 AAC 3<br>BB 02000000 X超市 1<br>BBC 02010000 BB 2<br> close;<br> sql.Clear;<br> sql.Add('select * from splbb order by cs');<br> prepared;<br> open;<br> first;<br> if FieldValues['splbmc']<>null then<br> TreeView1.Items.AddFirst(nil,FieldValues['splbmc']); //添加 X超市 <br> next;<br> while not eof do<br> begin<br> for i:=0 to TreeView1.Items.Count-1 do<br> if TreeView1.Items.Text=FieldValues['fjd'] then <br> //这里要是不判断第4层的 就好了,怎么写呢<br> begin<br> TreeView1.Items.AddChild(TreeView1.Items,FieldValues['splbmc']);<br> break;<br> end;<br> next;<br> end;<br>当第4层 有1000个结点的时候 要运行40左右,太慢了,<br>大家有没有更好的算法