#sql #winforms #c#-4.0
#sql #winforms #c #-4.0
Вопрос:
Я исследовал другие ответы здесь, но ни один из них действительно не подходит к моему случаю. Я добавил таблицу в базу данных, и теперь я получаю эту ошибку. Дело в том, что это сработало на чужом компьютере, но на моем я получаю следующую ошибку. p.s. Мои соединения в порядке (на случай, если вы заблудились):
Исключение IndexOutOfRangeException не было обработано пользовательским кодом
An exception of type `System.IndexOutOfRangeException` occurred in System.Data.dll but was not handled in user code
Дополнительная информация: Не удается найти таблицу 0.
Код-нарушитель — это инициализация int i = 0 в цикле for
Вот мой код
tableLayoutPanel1.RowCount = ds.Tables[0].Rows.Count;
for (int i = 0; i < ds.Tables[0].Rows.Count; i )
{
Label lbl = new Label();
lbl.Text = ds.Tables[0].Rows[i]["RoleName"].ToString();
tableLayoutPanel1.Controls.Add(lbl);
}
Комментарии:
1. Похоже, что
ds.Tables[0].Rows.Count
это то, что вызывает исключение, а не возвращаемое неверное количество строк. Вы уверены, что ваше соединение работает?2. да, это работает
3. ds.Tables[0] попробуйте получить доступ к первой таблице в вашем наборе данных, которой там нет. Почему ваш набор данных пуст, я не могу предположить с помощью этой информации.
4. Установите точку останова в первой строке вашего опубликованного кода. Возьмите мышь и просмотрите список таблиц. Никакой таблицы не будет.