大家帮我看看这短代码,一执行就死

xylcyc 2004-08-23 11:06:28
Dim rsItem As New ADODB.Recordset
Dim rsBody As New ADODB.Recordset

Dim strsql As String
Dim nodeX As Node

rsBody.CursorType = adOpenKeyset
rsBody.LockType = adLockOptimistic
rsBody.ActiveConnection = CnnDB
rsItem.CursorType = adOpenKeyset
rsItem.LockType = adLockOptimistic
rsItem.ActiveConnection = CnnDB

CmbModel1.Visible = False
CmbModel1.Nodes.Clear

If rsBody.State = adStateOpen Then rsBody.Close
rsBody.Open "select * from stdbodypart"
While Not rsBody.EOF
If Trim(rsBody!bodypart_name) = Trim(CmbBodyPart.Text) Then
Set nodeX = CmbModel1.Nodes.Add(, tvwNext, "BKey" & rsBody!bodypart_key, Trim(rsBody!bodypart_name & ""))
strsql = "select * from stdclininfo where bodypart_key=" & rsBody!bodypart_key
If rsItem.State = adStateOpen Then rsItem.Close
rsItem.Open strsql
While Not rsItem.EOF
CmbModel1.Nodes.Add nodeX.key, tvwChild, , rsItem!ix_code & ""
rsItem.MoveNext
Wend
rsBody.MoveNext
End If
Wend

CmbModel1.Visible = True
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
落伍者 2004-08-23
  • 打赏
  • 举报
回复
无限循环了,按照上面改下好了
vbman2003 2004-08-23
  • 打赏
  • 举报
回复
While Not rsBody.EOF
  if......then
......
End if
rsBody.MoveNext
Wend
LGYAN 2004-08-23
  • 打赏
  • 举报
回复
rsBody.MoveNext不应该放在IF条件之内
starsoulxp 2004-08-23
  • 打赏
  • 举报
回复
rsBody.MoveNext 应该写在end if的下面。
starsoulxp 2004-08-23
  • 打赏
  • 举报
回复
While Not rsBody.EOF
If Trim(rsBody!bodypart_name) = Trim(CmbBodyPart.Text) Then
Set nodeX = CmbModel1.Nodes.Add(, tvwNext, "BKey" & rsBody!bodypart_key, Trim(rsBody!bodypart_name & ""))
strsql = "select * from stdclininfo where bodypart_key=" & rsBody!bodypart_key
If rsItem.State = adStateOpen Then rsItem.Close
rsItem.Open strsql
While Not rsItem.EOF
CmbModel1.Nodes.Add nodeX.key, tvwChild, , rsItem!ix_code & ""
rsItem.MoveNext
Wend
rsBody.MoveNext '如果第2行的if条件不满足,岂不是无法退出循环了???
End If
Wend

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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