
VB 6.0,我想让treeview链接数据库,在Form_load里执行如下代码,但是显示错误,With快变量未设置
我想让最后大概是呈现这样的效果******************************************************************代码If...
我想让最后大概是呈现这样的效果
******************************************************************代码
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.Movefirst
Do While Adodc1.Recordset.EOF = False
Key = Trim(Adodc1.Recordset.Fields("知识点")) '主节点在treeview中显示
Text = Trim(Adodc1.Recordset.Fields("知识点"))
Set Node1 = TreeView1.Nodes.Add(, , Key, Text, 1)
Adodc2.RecordSource = "select * from 选择题信息表 where 题目所属知识点='"&Adodc1.Recordset.Fields("知识点") & "'" '查询次节点
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
Adodc2.Recordset.Movefirst
Do While Adodc2.Recordset.EOF = False
Key = Trim(Adodc2.Recordset.Fields("题目编号")) '次节点显示
Text = Trim(Adodc2.Recordset.Fields("题目编号"))
Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 2) '设置TreeView1控件的节点 文本 和 图标(另外:1 为ImageList控件图标的索引值)
Adodc2.Recordset.Movenext
Loop
End If
Adodc1.Recordset.Movenext
Loop
End If 展开
******************************************************************代码
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.Movefirst
Do While Adodc1.Recordset.EOF = False
Key = Trim(Adodc1.Recordset.Fields("知识点")) '主节点在treeview中显示
Text = Trim(Adodc1.Recordset.Fields("知识点"))
Set Node1 = TreeView1.Nodes.Add(, , Key, Text, 1)
Adodc2.RecordSource = "select * from 选择题信息表 where 题目所属知识点='"&Adodc1.Recordset.Fields("知识点") & "'" '查询次节点
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
Adodc2.Recordset.Movefirst
Do While Adodc2.Recordset.EOF = False
Key = Trim(Adodc2.Recordset.Fields("题目编号")) '次节点显示
Text = Trim(Adodc2.Recordset.Fields("题目编号"))
Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 2) '设置TreeView1控件的节点 文本 和 图标(另外:1 为ImageList控件图标的索引值)
Adodc2.Recordset.Movenext
Loop
End If
Adodc1.Recordset.Movenext
Loop
End If 展开
1个回答
展开全部
数据库有没有载入啊,这种情况发生较多。除非你把数据库发给我来测试一下,光看字面我是看不出来。邮件:2978454279@qq.com
追问
已发送,谢谢!!!
追答
百度越来越抠门了,字数限制的那么严。
我简单说说,
Adodc1.Refresh '首次使用时数据库还没载入,除非已经绑定了某个控件。所以先刷新一下。
If Adodc1.Recordset.RecordCount > 0 Then
。。。。。。。。。。
Key = Trim(Adodc2.Recordset.Fields("题目编号"))
Text = Trim(Adodc2.Recordset.Fields("题目编号"))
Key = Replace(Key, ".", "_") '好像数字不能作关键字,所以把小数点替换为下划线吧。
Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 2)
。。。。。。。。。。
其实这句Adodc2.Recordset.MoveFirst没必要,记录集刚载入时指针默认在第一行。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询