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

ADO中的多重循环进入了死循环解决思路

2011-12-30 
ADO中的多重循环进入了死循环请大家看一段代码片段:Withcmd.ActiveConnectioncnn.CommandTimeout30.Comm

ADO中的多重循环进入了死循环
请大家看一段代码片段:
        With   cmd
                .ActiveConnection   =   cnn
                .CommandTimeout   =   30
                .CommandType   =   adCmdText
                .CommandText   =   "select   *   from   a "
                Set   rst   =   .Execute
            End   With
            If   Not   (rst.EOF   And   rst.BOF)   Then
              rst.MoveFirst
              Do   While   Not   rst.EOF
             
                detail   =   " "
                title   =   " "
                user_id   =   rst.Fields(0)
                title   =   Trim(rst.Fields(1))
                mo   =   " "
                Do   While   rst.Fields(0)   =   user_id
                        detail   =   detail   +     Trim(rst.Fields(2))
                        mo   =   rst.Fields(2)
                        Do   While   rst.Fields(2)   =   mo
                                detail   =   detail   +     Trim(rst.Fields(3))  
                                rst.MoveNext
                        Loop
                Loop
                detail   =   title   +   Chr(13)   +   detail  
              Loop
            End   If

下面是我的数据范例
aaabcd
aaabbccdd
aaabbbccdd
bbbbcd
bbbbbcd
bbbbbbccdd
cccbcd
cccbcdd
我对循环的最初设想是这样的:
1)先判断rst是否为eof,如果不是,继续循环
2)判断rst.Fields(0)是否相同,如果相同,在同一循环,否则进入下一循环
3)判断rst.Fields(2)是否相同,如果相同,在同一循环,否则进入下一循环
现在的问题是前面的几次循环是正常的,但到了最后一次循环,也就是rst.Fields(0)=ccc时,其实当时rst已经到了eof,我的整个循环应该结束,但是程序进入了死循环,无法跳出,请高手指点原因。




[解决办法]
没有明白什么意思,不好意思呀

热点排行