在论坛里看了很多有关treeview控件和数据库连接问题的帖子,但是很多都不看不太懂,我的数据库中有两个表,一个是大类别表,一个是小类别表,现在我想运行程序时,把大类别的内容,读出来赋值给treeview控件的父节点,小类别表的内容读出来赋值给treeview控件的子节点(相对应的),那么这个程序代码该怎么写!!第一次接触这个控件,请高手帮助!!!如果有例子就更谢谢了。[email protected]   谢谢

解决方案 »

  1.   

    给你个例子,不知道有没有帮助:
    假设你的大类表名为: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