如某产品结构如下:
服装--男装--西服
--衫衣
--白衫衣
--... --女装--套裙
--披肩
--..
--...
饮料--
--可乐
--水
--纯净水
--...
-- 酒
--白酒
电器--
--...目的:将上述结构显示在TREEVIEW控件中,并且能让用户自由的添加,删除,更改结点的结构,更改结构后保存至数据库中.
问题2:要实现上述功能,数据库中表应该如何设计?这是否属递归算法?能否给出一个较为详细的设计思路?
我的可用分不多了,信誉分也不知怎么回事少了.
请大家多帮忙吧
服装--男装--西服
--衫衣
--白衫衣
--... --女装--套裙
--披肩
--..
--...
饮料--
--可乐
--水
--纯净水
--...
-- 酒
--白酒
电器--
--...目的:将上述结构显示在TREEVIEW控件中,并且能让用户自由的添加,删除,更改结点的结构,更改结构后保存至数据库中.
问题2:要实现上述功能,数据库中表应该如何设计?这是否属递归算法?能否给出一个较为详细的设计思路?
我的可用分不多了,信誉分也不知怎么回事少了.
请大家多帮忙吧
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=Report;User Id=sa;Password=sa;"
CN.Open
Rs.CursorLocation = adUseClient
Rs.Open "select * from table1", CN, adOpenDynamic, adLockBatchOptimistic
Rs.MoveFirst
Do While Not Rs.EOF
Select Case Len(Trim(Rs.Fields("lno")))
Case 3
TreeView1.Nodes.Add , , "key" & Trim(Rs.Fields("lno")), Rs.Fields("lname")
Case 5
TreeView1.Nodes.Add "key" & Left(Trim(Rs.Fields("lno")), 3), tvwChild, "key" & Trim(Rs.Fields("lno")), Rs.Fields("lname")
Case 7
TreeView1.Nodes.Add "key" & Left(Trim(Rs.Fields("lno")), 5), tvwChild, "key" & Trim(Rs.Fields("lno")), Rs.Fields("lname")
End Select
Rs.MoveNext
Loop
Rs.Close
CN.Close
For I = 1 To TreeView1.Nodes.Count
TreeView1.Nodes(I).Expanded = True
Next
序号 父节点id 层次 节点值
id parentid level interid
1 0 1 1
2 1 2 1.2
3 1 2 1.3
4 2 3 1.2.4
5 4 4 1.2.4.5
6 5 5 1.2.4.5.6
参考:
http://expert.csdn.net/Expert/topic/2052/2052501.xml?temp=8.172244E-02
Rs.Open "select * from table1", CN, adOpenDynamic, adLockBatchOptimistic Rs.MoveFirst
Do While Not Rs.EOF TreeView1.Nodes.Add "key" & Trim(Rs.Fields("parentid")), tvwChild, "key" & Trim(Rs.Fields("id")), Rs.Fields("interid") Rs.MoveNext
Loop
我想第二和第三个应该是答案吧.
表结构中:level and interid 起什么作用?尤其是level字段?
能不能再详细解释些.我很笨.呵呵.