На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: maxim84_, juice
  
> Вывод данных в таблицу на форме
    Учусь работать с базой данных. В настоящее время использую базу Access. Столкнулся с ошибкой при попытке показать записи базы данных в таблице:
    ExpandedWrap disabled
              switch(comboBox1.SelectedIndex)
              {
                case 0: // Показать все данные
                  command    = connection.CreateCommand();
                  command.CommandText      = "SELECT * FROM ListTable";
                  reader = command.ExecuteReader();
                  i = 0;
                  while(reader.Read())
                  {
                    dataGridView1.Rows[i].Cells[0].Value = reader[0].ToString().Trim();
                    dataGridView1.Rows[i].Cells[1].Value = reader[1].ToString().Trim();
                    dataGridView1.Rows[i].Cells[2].Value = reader[2].ToString().Trim();
                    i++;
                  }
                  reader.Close();      
                  break;
                case 1: // добавить данные из таблицы
    В цикле while получаю ошибку: "Необработанное исключение типа "System.ArgumentOutOfRangeException" произошло в mscorlib.dll. Дополнительные сведения: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции".
    Не понимаю, в чем ошибка. В таблице всего три поля, значения которых я пытаюсь присвоить ячейкам таблицы, а в базе всего две записи. Помогите, пожалуйста. Проект прикрепил.
    Прикреплённый файлПрикреплённый файлDBtest.zip (23,25 Кбайт, скачиваний: 77)
      Получилось так:
      ExpandedWrap disabled
                switch(comboBox1.SelectedIndex)
                {
                  case 0: // Показать все данные
                    command    = connection.CreateCommand();
                    command.CommandText      = "SELECT * FROM ListTable";
                    reader = command.ExecuteReader();
                    i = 0;
                    while(reader.Read())
                    {
                      dataGridView1.Rows.Add(1);
                      dataGridView1.Rows[i].Cells[0].Value = reader[0].ToString().Trim();
                      dataGridView1.Rows[i].Cells[1].Value = reader[1].ToString().Trim();
                      dataGridView1.Rows[i].Cells[2].Value = reader[2].ToString().Trim();
                      i++;
                    }
                    reader.Close();      
                    break;
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0752 ]   [ 20 queries used ]   [ Generated: 19.09.18, 16:47 GMT ]