在论坛里看了很多有关treeview控件和数据库连接问题的帖子,但是很多都不看不太懂,我的数据库中有两个表,一个是大类别表,一个是小类别表,现在我想运行程序时,把大类别的内容,读出来赋值给treeview控件的父节点,小类别表的内容读出来赋值给treeview控件的子节点(相对应的),那么这个程序代码该怎么写!!第一次接触这个控件,请高手帮助!!!如果有例子就更谢谢了。[email protected] 谢谢
调试欢乐多
假设你的大类表名为:CLASS,表中有两个字段,一个是ID,一个NAME,表示大类的名称
即:ID,NAME
小类表名为:SUBCLASS,表中有三个字段,一个是本身的ID,一个是大类ID,我们设为ParentID(这是为了和大类联系),还有一个子类的名称NAME
即:ID,PARENTID,NAME下面是具体例子:
首先你得引用Microsoft ActiveX Data Objects 2.8 LibraryPrivate Sub Form_Load()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim SqlStr As Stringcn.Open "provider=Microsoft.Jet.oledb.4.0;" & "data source=" & App.Path & "\Data.mdb"
'App.path 是你当前运行的工程所在的目录,假设你的数据库的名称是DATA.MDB
SqlStr = "Select * from CLASS"
With rs
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open SqlStr, cn
If .RecordCount <> 0 Then '记录集非空
Do While Not .EOF '遍历记录集中所有的记录
TreeView1.Nodes.Add , , .Fields(0), .Fields(1) '以ID为KEY添加N个根结点,每个节点的名称就是当前大类的名称
.MoveNext
Loop
.Close
SqlStr = "select * from SubClass"
.Open SqlStr, cn
If .RecordCount <> 0 Then
Do While Not .EOF
TreeView1.Nodes.Add .Fields(1), 4, .Fields(0), .Fields(1)
.MoveNext
Loop
End If
.Close
Else
Exit Sub
End If
End With
cn.Close
End Sub