为何数据库无法打开

hsxwl 2007-05-20 11:25:06
Private Sub listtree() '用于显示treeview的数据
TreeView1.Nodes.Clear
Dim nodX As Node
Dim i As Integer
TreeView1.LineStyle = tvwRootLines ' Linestyle 1显示+/-号


opendb
Dim rsel As New ADODB.Recordset
Dim sqlel As String
Dim sqlsl As String
Dim sqlsil As String

sqlel = "select * from elei where ylbhao like '11'"
rsel.Open sqlel, Conn, 1, 1

While Not rsel.EOF
Set nodX = TreeView1.Nodes.Add(, , "k" & rsel.Fields("elbhao"), rsel.Fields("mchen"))
Dim rssl As New ADODB.Recordset
sqlsl = "select * from slei where elbhao like '" & rsel.Fields("elbhao") & "'"
rssl.Open sqlsl, Conn, 1, 1

While Not rssl.EOF
Set nodX = TreeView1.Nodes.Add("k" & rsel.Fields("elbhao"), tvwChild, "k" & rssl.Fields("slbhao"), rssl.Fields("mchen"))



Dim rssil As New ADODB.Recordset
sqlsil = "select * from silei where slbhao like '" & rssl.Fields("slbhao") & "'"
rssil.Open sqlsil, Conn, 1, 1 '此处提示:实时错误'-2147217887(80040e21)':

' While Not rssil.EOF
' Set nodX = TreeView1.Nodes.Add("k" & rssil.Fields("slbhao"), tvwChild, "k" & rssil.Fields("silbhao"), rssil.Fields("mchen"))
' rssil.MoveNext
' Wend




rssl.MoveNext
Wend
rssl.Close
rsel.MoveNext
Wend
End Sub
...全文
216 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
junki 2007-06-09
  • 打赏
  • 举报
回复
sqlsil = "select * from silei where slbhao like '" & rssl.Fields("slbhao") & "'"
rssil.Open sqlsil, Conn, 1, 1 '此处提示:实时错误'-2147217887(80040e21)':

rssl.Fields("slbhao")此项是否有效呢?
daisy8675 2007-05-21
  • 打赏
  • 举报
回复
同楼上意见

你可以把树一层层加,没必要把rs去嵌套
cqq_chen 2007-05-21
  • 打赏
  • 举报
回复
至少在do while ....中间用Dim rssil As New ADODB.Recordset是不对的。
三楼の郎 2007-05-21
  • 打赏
  • 举报
回复
Private Sub listtree() '用于显示treeview的数据
TreeView1.Nodes.Clear
Dim nodX As Node
Dim i As Integer
TreeView1.LineStyle = tvwRootLines ' Linestyle 1显示+/-号


opendb
Dim rsel As New ADODB.Recordset
Dim sqlel As String
Dim sqlsl As String
Dim sqlsil As String

Dim rssl As ADODB.Recordset '修改了这里
Dim rssil As ADODB.Recordset '修改了这里

sqlel = "select * from elei where ylbhao like '11'"
rsel.Open sqlel, Conn, 1, 1

While Not rsel.EOF
Set nodX = TreeView1.Nodes.Add(, , "k" & rsel.Fields("elbhao"), rsel.Fields("mchen"))

set rssl=new adodb.recordset '修改了这里

sqlsl = "select * from slei where elbhao like '" & rsel.Fields("elbhao") & "'"
rssl.Open sqlsl, Conn, 1, 1

While Not rssl.EOF
Set nodX = TreeView1.Nodes.Add("k" & rsel.Fields("elbhao"), tvwChild, "k" & rssl.Fields("slbhao"), rssl.Fields("mchen"))

set rssil=new adodb.recordset '修改了这里


sqlsil = "select * from silei where slbhao like '" & rssl.Fields("slbhao") & "'"
rssil.Open sqlsil, Conn, 1, 1 '此处提示:实时错误'-2147217887(80040e21)':

' While Not rssil.EOF
' Set nodX = TreeView1.Nodes.Add("k" & rssil.Fields("slbhao"), tvwChild, "k" & rssil.Fields("silbhao"), rssil.Fields("mchen"))
' rssil.MoveNext
' Wend

rssil.close '修改了这里
set rssil=nothing '修改了这里


rssl.MoveNext
Wend
rssl.Close

set rssl=nothing '修改了这里

rsel.MoveNext
Wend

rsel.close '修改了这里
set rsel=nothing '修改了这里

End Sub
三楼の郎 2007-05-21
  • 打赏
  • 举报
回复
用递归调用来实现吧

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧