首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

请问下树型控件取数据表的数值后的有关问题

2012-03-18 
请教下树型控件取数据表的数值后的问题VB.NET code改代码是由VB6转的,现在运行没有提示错误,但不知为何Tr

请教下树型控件取数据表的数值后的问题

VB.NET code
'改代码是由VB6转的,现在运行没有提示错误,但不知为何TreeView控件却显示一片空白.请教下是什么原因呢.Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load        Call addTVW(Me.TreeView1)    End Sub    Public Sub addTVW(ByVal TVW As System.Windows.Forms.TreeView)        Dim rs As Object '添加树视过程        Dim db As ADODB.Connection        db = New ADODB.Connection        db.CursorLocation = ADODB.CursorLocationEnum.adUseClient        db.Open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\2.mdb" & ";") '注意此处的文件名        Dim sql As String        sql = "select * from 表1" '注意此处的SQL语句        rs = New ADODB.Recordset        rs.Open(sql, db, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)        On Error Resume Next        Dim a As String        Do While Not rs.EOF '循环读取数据            Err.Clear()            a = TVW.Nodes.Item("A" & rs.Fields("名称")).Text            If Err.Number <> 0 Then                TVW.Nodes.Add("A" & rs.Fields("名称"), rs.Fields("名称"))                If Len(rs.Fields("种类")) > 0 Then TVW.Nodes.Find("A" & rs.Fields("名称"), True)(0).Nodes.Add("B" & rs.Fields("种类"), rs.Fields("种类"))                Err.Clear()            End If            rs.MoveNext()        Loop    End Sub


[解决办法]
我以下是NET的,你以上是6.0的

VB.NET code
        Dim con As OleDb.OleDbConnection        Dim cstring As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\2.mdb"        Dim sql As String = "select 名称,种类,产地 from 表1" '名称,种类,产地,,,为'myreader(0)'myreader(1)'myreader(2)        Dim sales As DataSet = New DataSet        Dim cmd As OleDb.OleDbCommand        con = New OleDb.OleDbConnection(cstring)        'If di1 = " " And di2 = " " Then        '    MessageBox.Show("请输入正确信息 ")        'Else        con.Open()        cmd = New OleDb.OleDbCommand(sql, con)        cmd.CommandText() = sql        Dim myreader As OleDb.OleDbDataReader = cmd.ExecuteReader        While myreader.Read            a = TVW.Nodes.Item("A" & myreader(0)) 'myreader(0)就=rs.Fields("名称")            If Err.Number <> 0 Then                TVW.Nodes.Add("A" & myreader(0), myreader(0))                If Len(myreader(1)) > 0 Then TVW.Nodes.Find("A" & myreader(0), True)(0).Nodes.Add("B" & myreader(1), myreader(1))            End If        End While        con.Close() 

热点排行