数据库显示到TREEVIEW中

Private   Sub   FillTree()  
          Tree.Nodes.Clear   '刷新列表时清空项目  
          Dim   nodx   As   Node  
          Dim   rs   As   New   ADODB.Recordset  
                  rs.Open   "select   Unit_id,Unit_name   from   Unit",   Adocnn,   adOpenStatic,   adLockReadOnly  
                  Set   nodx   =   Tree.Nodes.Add(,   ,   "A",   "所有单位",   1)  
                  While   Not   rs.EOF  
                          Set   nodx   =   Tree.Nodes.Add("A",   tvwChild,   "A"   &   rs!Unit_Id,   rs!Unit_Name,   2)  
                                  nodx.Tag   =   rs!Unit_Id  
                          rs.MoveNext  
                  Wend  
         
        Tree.Nodes(1).Expanded   =   True  
        Set   rs   =   Nothing  
     
  End   Sub

 

 

 

 

 

'=============================================================================================
'对xingmingbiao表进行查询操作
jiluji.Open "Select * from xingmingbiao", shujukulianjie

          tvTreeView.Nodes.Clear   '刷新列表时清空项目
          Dim nodx     As Node
              Set nodx = tvTreeView.Nodes.Add(, , "A", "所有单位", 1)
                  While Not jiluji.EOF
                          Set nodx = tvTreeView.Nodes.Add("A", tvwChild, "A" & jiluji!Unit_Id, jiluji!Unit_Name, 2)
                                  nodx.Tag = jiluji!Unit_Id
                          jiluji.MoveNext
                  Wend
         
        tvTreeView.Nodes(1).Expanded = True
        'Set jiluji = Nothing
'================================================================================================

 

 

 

 

 

============================
Public rsDiQu As ADODB.Recordset  
 
Public rsChengShi As ADODB.Recordset  
 
   
 
   
 
Private Sub Form_Load()  
 
   
 
   tvwDiQu.LineStyle = tvwTreeLines  
 
   tvwDiQu.ImageList = ImageList1  
 
   tvwDiQu.Style = tvwTreelinesPlusMinusPictureText  
 
     
 
   Dim nodx As Node  
 
     
 
   Set rsDiQu = New ADODB.Recordset  
 
   Set rsChengShi = New ADODB.Recordset  
 
     
 
   UnlockDatabase   '打开一个到SQL Server2000的连接Cn  
 
     
 
   rsDiQu.Open "select 地区名称,地区ID from 地区信息", Cn   '地区信息  
 
    If rsDiQu.RecordCount > 0 Then 
 
      rsDiQu.MoveFirst  
 
       Do While Not rsDiQu.EOF  
 
       If rsChengShi.State = adStateOpen Then   '由于要重复使用rsChengShi,所以关闭再打开  
 
         rsChengShi.Close  
 
       End If 
 
       rsChengShi.Open "select * from 城市信息 where 地区ID='" + Trim(rsDiQu.Fields("地区ID")) + "' ", Cn   '每个城市有地区ID,依次选出地区所包括的城市  
 
       'Trim函数很重要,没有会报错。  
 
        Set nodx = tvwDiQu.Nodes.Add(, , Trim(rsDiQu.Fields("地区名称")), rsDiQu.Fields("地区名称"), 1) '添加地区(父)节点  
 
         If rsChengShi.RecordCount > 0 Then 
 
           Do While Not rsChengShi.EOF  
 
              'Debug.Print rsChengShi.Fields("城市名称")  
 
              Set nodx = tvwDiQu.Nodes.Add(Trim(rsDiQu.Fields("地区名称")), tvwChild, , rsChengShi.Fields("城市名称"), 3)  
 
                '遍历城市,添加城市(子)节点  
 
              rsChengShi.MoveNext  
 
              Loop 
 
         End If  'If rsChengShi.RecordCount > 0  
 
        rsDiQu.MoveNext    '添加下一个地区及其包括的城市  
 
       Loop 
 
           
 
    End If   'If rsDiQu.RecordCount > 0  
 
      
 
    DestroyRs rsDiQu  
 
    DestroyRs rsChengShi  
 
   
 
End Sub 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhs1931/archive/2009/10/20/4704807.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值