各位大侠:
        Treeview怎么读取SQL数据库表中的资料呀, 可不可以教一下方法, 最好有代码, 
用的编译器是VS2005语言是VB                                                                                  谢谢各位大侠

解决方案 »

  1.   

    首先 VS2005 貌似是VB.NET的了
    然后 你只要treeview的点击事件里用SELECT CASE  
    CASE 1
    '比如查找数据库
    case 2



      

  2.   

    我给你一个实用的例子!你好好看,就会懂的!比如现有一个ACCESS数据库的一张表字段如下:
    员工编号,员工姓名,上司编号
      0          A           
      1          B          0
      2          C          1现在要用TREEVIEW控件将这张表表示出来!
    代码如下:
    Option ExplicitDim con As ADODB.Connection
    Dim rs As ADODB.RecordsetPrivate Sub Form_Load()
        Set con = New ADODB.Connection    con.ConnectionString= 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Emp.mdb"
        con.CursorLocation = adUseClient
        con.ConnectionTimeout = 5
        con.Open
        
        Set rs = New ADODB.Recordset
        rs.Open "Select * From Employees", con, adOpenForwardOnly, adLockOptimistic, -1
        
        Dim i As Integer, nod As Node
        For i = 1 To rs.RecordCount
            If rs.Fields("LeaderID").Value = 0 Then
                Me.TreeView1.Nodes.Add , , "K_" &    rs.Fields("nID").Value, rs.Fields("EmpName").Value, 1
            Else
                Me.TreeView1.Nodes.Add "K_" & rs.Fields("LeaderID").Value, tvwChild, "K_" & rs.Fields("nID").Value, rs.Fields("EmpName").Value, 1
            End If
            rs.MoveNext
        Next i
        
        rs.Close
        Set rs = Nothing
        
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        con.Close
        Set con = Nothing
    End Sub 
      

  3.   

    就是读数据库+把读到的内容写到Me.TreeView1.Nodes.Add 后面合适的位置
      

  4.   

    SQL数据库需要把con.ConnectionString换掉
      

  5.   

     
    谢谢各位我自己搞定了Private Sub treeviewclass()
            ' AddTree递归函数每次都要用到数据集中的一个表,所以定义成private        ' '定义数据库连接
            Dim CN As New OleDbConnection()
            Try
                '初始化连接字符串
                CN.ConnectionString = pubcls.conn
                CN.Open()
                '添加命令,从数据库中得到数据
                Dim sqlCmd As New OleDbCommand
                sqlCmd.Connection = CN
                sqlCmd.CommandText = "select * from t_incomeclass"
                sqlCmd.CommandType = CommandType.Text
                Dim adp As OleDbDataAdapter = New OleDbDataAdapter(sqlCmd)
                adp.Fill(ds)
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                '关闭连接
                CN.Close()
            End Try
            '调用递归函数,完成树形结构的生成
            AddTree(0, Nothing)
        End Sub    '̀递归添加树的节点
        Private Sub AddTree(ByVal ParentID As Integer, ByVal pNode As TreeNode)
            Dim Node As TreeNode
            Dim dvTree As New DataView()
            dvTree = New DataView(ds.Tables(0))
            '过滤ParentID,得到当前的所有子节点
            dvTree.RowFilter = "PARENTID = " + ParentID.ToString        Dim Row As DataRowView
            For Each Row In dvTree
                If pNode Is Nothing Then  '判断是否根节点
                    '̀添加根节点
                    Node = TreeView1.Nodes.Add(Row("context").ToString())
                    '̀再次递归
                    AddTree(Int32.Parse(Row("ID").ToString()), Node)
                Else
                    '添加当前节点的子节点
                    Node = pNode.Nodes.Add(Row("context").ToString())
                    '̀再次递归
                    AddTree(Int32.Parse(Row("ID").ToString()), Node)
                End If
                Node.EnsureVisible()
            Next