语法访问无效的DataTable索引

时间:2017-02-11 01:50:53

标签: c# c#-4.0 datatable

我的语法中有4个数据表。我想忽略ds.Tables[0];并迭代1,2和3.下面的语法抛出错误

  

找不到表4

我认为ds.Tables.Count;会显示只有3个数据表(因为它是基于0的索引)。但相反,它继续尝试处理并抛出上述错误。

我误解了这个过程是如何运作的吗?我该怎么办才能处理数据表1,2,3?

(我的语法最初设置为int i = 1;,以便代码开始使用ds.Tables[1];进行处理

for (int i= 1; i < ds.Tables.Count; i++)
{

}

1 个答案:

答案 0 :(得分:0)

我认为您需要验证您实际上是在DataSet中添加了四个DataTable。我在下面创建了测试代码,它按预期工作。

var ds = new DataSet();
ds.Tables.Add(new DataTable()); // 0
ds.Tables.Add(new DataTable()); // 1
ds.Tables.Add(new DataTable()); // 2
ds.Tables.Add(new DataTable()); // 3
for (int i = 1; i < ds.Tables.Count; i++)
{
    var currentTable = ds.Tables[i];
    if (currentTable == null)
    {
        Response.Write("Table is null!");
    }
}

我的代码从表2(索引1),表3(索引2)和表4(索引3)开始循环遍历循环。我会仔细检查你的DataSet是否包含4个DataTables。

我希望这会有所帮助。