注册 登录
编程论坛 VB6论坛

关于treeview控件,求大佬指导

砂子 发布于 2025-09-25 10:40, 644 次点击
小弟不才,入门不久,还在学习阶段,现有疑问需要大佬指导.希不吝教导.
数据库 SQL2005
vb6    窗体
控件  command1
控件  treeview1
控件  text1
___________________
当单击 command1后 treeview1 显示数据库里的内容,在treeview1里点击后显示各个目录.当单击详细里现实药方后在text里显示药方.求大佬指导,谢谢了

[此贴子已经被作者于2025-10-10 11:13编辑过]

1 回复
#2
砂子10 小时前
大概的方法
Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim strSQL As String
    Dim rootNode As Node
    Dim symptomNode As Node
   
    ' 清空TreeView
    tvData.Nodes.Clear
   
    ' 建立数据库连接
    Set conn = New ADODB.Connection
    conn.ConnectionString = "Provider=SQLOLEDB;Data Source=ABC-PC;" & _
                           "Initial Catalog=.;User ID=用户名;Password=密码;"
    conn.Open
   
    ' 执行SQL查询
    strSQL = "SELECT 一级目录, 二级目录, 三级目录 FROM 根目录 ORDER BY 一级目录"
    Set rs = New ADODB.Recordset
    rs.Open strSQL, conn, adOpenStatic, adLockReadOnly
   
' 添加根节点
    Set rootNode = tvData.Nodes.Add(, , "root", "根目录名")
   
    ' 遍历记录集
    If Not rs.EOF Then
        rs.MoveFirst
        Do Until rs.EOF
            ' 添加脉证主节点
            Set symptomNode = tvData.Nodes.Add("root", tvwChild, "S" & rs.AbsolutePosition, _
                                              rs!一级目录(数据库字段))
            
            ' 添加药方子节点
            If Not IsNull(rs!二级目录(数据库字段)) Then
                tvData.Nodes.Add symptomNode.Key, tvwChild, "P" & rs.AbsolutePosition, _
                                "二级目录:" & rs!二级目录(数据库字段)
            End If
            
            ' 添加详细说明子节点
            If Not IsNull(rs!二级目录(数据库字段)) Then
                tvData.Nodes.Add symptomNode.Key, tvwChild, "p" & rs.AbsolutePosition, _
                                "二级目录:" & rs!二级目录(数据库字段)
            End If
            rs.MoveNext
        Loop
1