专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

请高手帮忙看一下代码!该如何解决

发布时间:2011-06-23 16:02:15 文章来源:www.iduyao.cn 采编人员:星星草
请高手帮忙看一下代码!
我是想做一个目录树,第一个查询是父节点,用第二个查询的数值在父节点下建子节点。
第一个查询有数据。第二个查询,出不来数据是什么原因?

VB.NET code
Imports System.Data.OleDb
Public Class Form1
    Dim data1 As New dataDataSet 'dataDataSet通过数据添加的access2003数据库
    Dim reader As DataTableReader
    Dim datarow As DataRow
    Dim con As New OleDb.OleDbConnection
    Dim i, j As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sqlstr As String = "select 所在科室 from jbxx group by 所在科室 having count(*)>1"
        Dim datatab As DataTableReader
        datatab = conn(sqlstr)
        Dim nod(6) As TreeNode
        Dim i As Integer
        i = 0
        While datatab.Read()
            i = 1 + i
            nod(i) = New TreeNode
            nod(i) = TreeView1.Nodes.Add(datatab.GetString(0).ToString)
        End While
        datatab.Close()
        'con.Close()
        '第二个查询
        sqlstr = "select 所在科室,姓名 from jbxx"
        datatab = conn(sqlstr)
        TreeView1.Nodes.Add(nod(i).Text)
        While datatab.Read() ''这里的值为什么为假?
            datatab.GetString(0)
            While i = 0 'I已经为6了。
                If nod(i).Text = datatab.GetString(0) Then
                    nod(i).Nodes.Add(datatab.GetString(1)) '创建第一个查询出来的子节点。
                End If
                i = i - 1
            End While
        End While
        con.Close()
    End Sub
    Private Function conn(ByVal sqlstr As String)
        con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=D:\temp\aa\data.mdb"
        Dim oada As New OleDb.OleDbDataAdapter(sqlstr, con)
        con.Open()
        Dim ds As New DataSet
        oada.Fill(ds)
        Return ds.Tables(0).CreateDataReader
    End Function
End Class


------解决方案--------------------
这个问题我找到了。
VB.NET code
 While i = 0 'I已经为6了。
  If nod(i).Text = datatab.GetString(0) Then
  nod(i).Nodes.Add(datatab.GetString(1)) '创建第一个查询出来的子节点。
  End If
  i = i - 1
  End While

------解决方案--------------------
http://user.qzone.qq.com/631582825/blog/1320153235
这个是我解决问题后的正确源代码。
------解决方案--------------------
http://blog.csdn.net/w200221626/article/details/6699619
看看这个也许会有帮助
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: