2015-03-24 3 views
0

Попытка отображения значения из базы данных Access для отображения в ListBox в форме. Предыдущий формат отправляет эту форму в строку, которая является «prevval», для ссылки на код. Не совсем уверен, в чем проблема? Пожалуйста помоги!! QuestionID технически является номером, но это проблема, если im делает его строкой, потому что она представлена ​​в ListBox?Отобразить строку из 'System.Data.OleDb.OleDbDataReader'. Доступ к базе данных до формы C#

Ошибка System.Data.OleDb.OleDbException (0x80040E10): Нет значение дано для одного или более требуемых параметров

Код:

 try 
     { 
      connection.Open(); 
      OleDbCommand command = new OleDbCommand(); 
      command.Connection = connection; 
      string query = "SELECT QuestionID FROM tblQuestions WHERE (Topic='" + prevval + "')"; 
      command.CommandText = query; 
      OleDbDataReader reader = command.ExecuteReader(); 
      while (reader.Read()) 
      { 
       listQuestions.Items.Add(reader.ToString()); 
      } 
      connection.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error " + ex); 
     } 
+2

Каков тип столбца «Тема» и каково значение «prevval» точно? И, конечно же, вы всегда должны использовать [параметризованные запросы] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/). Этот тип конкатенаций строк открыт для [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. Также 'reader.ToString()' возвращает это полное имя класса вместо данных внутри него. Вам нужно использовать 'reader [0]' или как лучший метод GetXXX. –

+0

Где исключается исключение? –

+0

prevval может варьироваться от разных слов, в зависимости от слова, будет зависеть от того, какой QuestionID будет получен и что будет отображаться дальше. – nivlem

ответ

1

Попробуйте

listQuestions.Items.Add(reader["QuestionID"].ToString()); 
+0

Это правда, но это не причина этого исключения. –

+0

Исправить. Я предполагаю, что prevval правильно передается как строка и имеет значение. – Kami

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

  • Нет связанных вопросов^_^