指数超出范围。必须是非负数且小于集合错误的大小

时间:2013-12-03 15:52:06

标签: c# ms-access datagridview rows

嗨,我在运行这段代码时遇到此错误,无法弄明白。欢呼:

      DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        try
        {
            for (int i = 0; i <= (DataGridView1.Rows.Count); i++)
            {

                if (DataGridView1.Rows[i].Cells[2].ToString().Equals(returnID))
                {
                   SignIn_Time(updateCmd, OLEDB_Connection, varName, varID, varTime);
                   break;
                }
            }
        }
        catch
        {

2 个答案:

答案 0 :(得分:7)

它应该小于计数,不等于,因为从零开始的索引:

i < DataGridView1.Rows.Count

答案 1 :(得分:6)

错误很清楚:

  

[index]非负且小于集合的大小。

<=替换为循环标题中的<

for (int i = 0; i < (DataGridView1.Rows.Count); i++) {
    ...
}

此外,您需要确保每行至少有三个单元格,因为您要连续访问第三个单元格:Cells[2]