Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从数据表中删除行时出错:";位置X处没有行。”;_Vb.net_Datatable_Runtime Error_Row - Fatal编程技术网

Vb.net 从数据表中删除行时出错:";位置X处没有行。”;

Vb.net 从数据表中删除行时出错:";位置X处没有行。”;,vb.net,datatable,runtime-error,row,Vb.net,Datatable,Runtime Error,Row,尝试从数据表中删除行时,我遇到以下运行时错误dt: 位置24处没有行。 位置20处没有行 下面是代码(第3行导致错误): 使用Try Catch块,我发现每当出现错误时,索引变量I的值就等于dt.Rows.Count,这可能是错误的原因。但是,我不清楚i如何假定这个值,因为我正在从dt.Rows.Count-1 你知道我做错了什么吗?问题是你正在删除行,而你正在继续使用bucle: For i As Integer = dt.Rows.Count -1 To 0 Step -1

尝试从数据表中删除行时,我遇到以下运行时错误
dt

位置24处没有行。
位置20处没有行

下面是代码(第3行导致错误):

使用
Try Catch
块,我发现每当出现错误时,索引变量
I
的值就等于
dt.Rows.Count
,这可能是错误的原因。但是,我不清楚
i
如何假定这个值,因为我正在从
dt.Rows.Count
-1


你知道我做错了什么吗?

问题是你正在删除行,而你正在继续使用bucle:

For i As Integer = dt.Rows.Count -1 To 0 Step -1    
    For Each num As Integer In numsArray
       If dt.Rows(i).Item("number") = num Then
            dt.Rows(i).Delete()  
            Exit For ' You need to stop looking for a number in this row
        End If
    Next
Next

您正在迭代要从中删除的行集合;这就像锯断你站着的梯子

请尝试以下代码:

For Each num As Integer In numsArray
    For i As Integer = dt.Rows.Count -1 To 0 Step -1    
        If dt.Rows(i).Item("number") = num Then
            dt.Rows(i).Delete()
            Exit For
        End If
    Next
Next

非常感谢,你一针见血
For Each num As Integer In numsArray
    For i As Integer = dt.Rows.Count -1 To 0 Step -1    
        If dt.Rows(i).Item("number") = num Then
            dt.Rows(i).Delete()
            Exit For
        End If
    Next
Next