请问下树型控件取数据表的数值后的有关问题
请教下树型控件取数据表的数值后的问题
------解决方案--------------------
我以下是NET的,你以上是6.0的
- 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()