StudentSC Ответов: 2

Не удается найти столбец 0 в C#?


dtTable.Колонка[0].ColumnName=STUDENTS_INFORMATION.ID.ToString(); //эта ошибка:
Не удается найти столбец 0.



файл Excel:

ID   NAME    CLASS

  86    Kelvin    4  

  59    Johny     7



ТАБЛИЦА БАЗЫ ДАННЫХ: STUDENTS_INFORMATION


ID NAME CLASS


Я пытаюсь читать значения Excel.
Я читаю значения в состоянии foreach, но не могу написать datatable.И вот тут я получаю ошибку.
Не удается найти столбец 0.

Что я уже пробовал:

//select column and set

DataTable dtTable = new DataTable();

dtTable.Column[0].ColumnName=STUDENTS_INFORMATION.ID.ToString();
dtTable.Column[1].ColumnName=STUDENTS_INFORMATION.Name.ToString();
dtTable.Column[2].ColumnName=STUDENTS_INFORMATION.Class.ToString();
}

Nirav Prabtani

Ставим точку останова и пытаемся найти значения в наборе данных

Почему ваш набор данных не содержит этих значений ?

2 Ответов

Рейтинг:
1

OriginalGriff

Если у вас нет столбца 0, то у вас нет столбца - у вас есть полностью пустая таблица данных, наиболее вероятная причина этого заключается в том, что ваш лист также пуст.

Мы не можем проверить это - у нас нет доступа к вашей электронной таблице - поэтому мы не можем проверить это для вас.

Так что все будет зависеть от тебя.
К счастью, у вас есть инструмент, который поможет вам выяснить, что происходит: отладчик. Если вы не знаете, как его использовать, то быстрый Google для "Visual studio debugger" должен дать вам необходимую информацию.

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!


Рейтинг:
0

Dylvh

Я думаю, это может быть потому, что в вашей таблице нет никаких строк.

Здесь вы создаете новый экземпляр DataTable и сразу же пытаетесь получить доступ к столбцам

DataTable dtTable = new DataTable();

dtTable.Column[0].ColumnName=STUDENTS_INFORMATION.ID.ToString();


Сначала вам нужно добавить строку в эту таблицу данных.

DataTable dtTable = new DataTable();
dtTable.NewRow(); // Add a new row
dtTable.Column[0].ColumnName=STUDENTS_INFORMATION.ID.ToString();


Simon_Whale

+5 :thumpsup:

Dylvh

Очень ценю