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中有一条记录无法删除。