2017-02-11 7 views
0

У меня есть 4 datatables в моем синтаксисе. Я хочу, чтобы игнорировать ds.Tables[0]; и перебирать 1, 2 и 3. Синтаксис ниже выдает ошибкуСинтаксис Доступ к недопустимому индексу DataTable

Не можете найти таблицу 4

Я думал, что ds.Tables.Count; бы показать, что там были только 3 DataTables (так как это индекс, основанный на 0). Но вместо этого он продолжает пытаться обрабатывать и выдает указанную выше ошибку.

Я не понимаю, как этот процесс работает? Что мне делать, чтобы обрабатывать только данные 1, 2, 3?

(я синтаксис изначально установлен в int i = 1; так, что код начинает обработку с ds.Tables[1];

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

} 
+0

Я предполагаю, что ошибка указана в коде, который вы не показываете как Test.Count будет 3, если у вас 3 таблицы. И ваш цикл for должен выполнять 1 и 2. –

ответ

0

Я думаю, вы должны убедиться, что вы на самом деле добавления четырех DataTables в набор данных. Я создал тест код ниже, и он работал, как ожидалось.

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 DataTa BLES.

Надеюсь, это поможет.

+0

Я подтвердил, что у меня есть 4 DataTables. Я хочу игнорировать индекс [0] и только процесс 1, 2, 3. Позвольте мне изменить, чтобы добавить больше кода. –

Смежные вопросы