一个日记软件,怎样用TreeView控件显示Access数据库内容中的年,月,日。请高手给个思路。

解决方案 »

  1.   

    第一级节点显示年,第二级节点显示月,第三级显示日不久得了select * from tableName order by year,month,day
      

  2.   

    Private Sub Form_Load()
        j = 0
        TreeView1.ImageList = ImageList1
        Dim cnn As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;Persist Security Info=False"   '连接数据库字符串
        cnn.Open
        Set rs = cnn.Execute("select * from 学生信息")
        For i = 0 To rs.Fields.Count - 1
        Set a = TreeView1.Nodes.Add(, , Chr(i), rs.Fields(i).Name, 1, 2)
        rs.MoveFirst
        Do While Not rs.EOF
        j = j + 1
        Set b = TreeView1.Nodes.Add(Chr(i), tvwChild, Chr(j) & Chr(i), rs(i), 1, 2)
        rs.MoveNext
        Loop
        Next i
        cnn.Close
    End Sub
      

  3.   

    常用的办法:只有当用户点击某个节点时才加载其子节点,并不是一次性加载。
    例如,当用户展开path为 2003年12月的节点时,你就搜索数据库:
    select * from tableName where year='2003' and month='12' order by day
    然后,逐个加载到该节点下
      

  4.   

    可以借鉴网络中搜索显示结果的例子,如设置一个下10个的Button每点击一次从数据库中读出10个数据显示。
      

  5.   

    支持boydgmx(梦霄) 的!
    其实,现在机器都很快了,日记加载不会慢很多的
    我在做过的项目中,一次加载几万条商品信息,也只有1、2秒而已
    数据库中的数据是按索引排序的就好
      

  6.   

    支持boydgmx(梦霄) 的!
      

  7.   

    确实,读取数据的速度不会因为数据量的增大而显得很慢,我这里几十万的数据查询也不过2秒,boydgmx(梦霄)提供的是一种比较省时的好方法。