Foxtable(狐表)用户栏目专家坐堂 → 请教循环遍历结构问题


  共有12304人关注过本帖树形打印复制链接

主题:请教循环遍历结构问题

帅哥哟,离线,有人找我吗?
RandyBoy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
请教循环遍历结构问题  发帖心情 Post By:2011/11/29 21:50:00 [显示全部帖子]

由于temptable表是在递归函数中动态增加记录的,所以不能用FOR each 遍历,会出现异常。

 

循环遍历temptable临时表,读取行记录后删除行,直到该表记录行为空,用以下格式遍历,应该怎么样写如下两个语句:

1.终止条件

2.下一条记录指令

 

do while  (终止条件【表中无记录时】)

    ’读取当前记录

    ’删除当前记录

    ’下一条记录指令

loop


 回到顶部
帅哥哟,离线,有人找我吗?
RandyBoy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/29 22:22:00 [显示全部帖子]

呵呵,如果可以这样的话,就不必劳烦大家了

 回到顶部
帅哥哟,离线,有人找我吗?
RandyBoy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/29 22:42:00 [显示全部帖子]

For Each r As DataRow In DataTables("tempbom").DataRows
    If r IsNot Nothing Then
    Dim dt1 As DataTable
    Dim cmd1 As New SQLCommand
    Dim curgoid As Integer
    curgoid = r("goid")
    r.Delete
    cmd1.CommandText = "Select goid,singletotal,comgoid,sf_nonstock From {cp_singlebom} Inner JOIN {product} ON {product}.[_Identify] = {cp_singlebom}.[goid]  where {cp_singlebom}.[goid]=" & CSTR(curgoid)
    dt1 = cmd1.ExecuteReader()
  
    If dt1.DataRows.Count > 0 Then
    '循环调用自身函数
   
    Else
       '追加到数据表中
        Dim r1 As Row = Tables("bomdata").AddNew()
        r1("goid") = curgoid
       ' r("singletotal")=dr("singletotal")
       ' r("sf_summy")= dr("sf_nonstock")
       ' r("sortkey")= Initcnt

   
    End If
   
    End If
  Next

 

很奇怪,一样的代码,刚刚试是正确的,在之前就是在TEMPBOM中有一条记录无法删除。


 回到顶部
帅哥哟,离线,有人找我吗?
RandyBoy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:184 积分:1459 威望:0 精华:0 注册:2011/11/11 12:08:00
  发帖心情 Post By:2011/11/30 12:05:00 [显示全部帖子]

Dim cnt As Integer = DataTables("tempbom").DataRows.Count -1

这句代码是用来做诱的吧。。

 

哈哈。。还是要感谢你的支持和帮助,只要不出错就OK~

 

 


 回到顶部