System.Data.OleDb.OleDbException
System.Data.OleDb.OleDbException: "Отсутствует значение для одного или нескольких требуемых параметров."

Ответы (1 шт):
Ох...
Во-первых, вы не задали вопрос. Stackoverflow - это сайт типа "Вопрос-ответ". Понимаете? В конце вопросительного предложения стоит знак вопроса.
Во-вторых, заголовок темы должен содержать суть.
В-третьих, код нужно приводить текстом, а не скриншотом.
В-четвертых, вы на каком языке пишете? Добавьте метку языка программирования. Удалите метку GUI-фреймворка, т. к. она не имеет отношения к вопросу.
Теперь главное. Я сильно подозреваю, что показанный текст исключения не относится к показанному на скриншоте коду. Нет в вашем коде параметров.
А теперь, собственно, ради чего я стал писать это сообщение. Я не могу пройти мимо такого быдлокода:
while (new OleDbCommand("...", db).ExecuteReader().Read())
Здесь создаётся объект OleDbCommand, создаётся объект OleDbDataReader, выполняется запрос в БД, возвращаются данные.
И если метод Read() будет успешен - хотя бы одна строка будет получена, - то цикл повторится: будет создан новый OleDbCommand, новый OleDbDataReader, будет выполнен новый запрос в БД, будут возвращены те же самые данные с начала.
Перепишем код следующим образом:
string query = "SELECT DISTINCT Специальность FROM Подразделения";
using (OleDbCommand command = new OleDbCommand(query, db))
using (OleDbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
...
}
}
Но я повторю, что в sql-запросе нет параметров, следовательно текст исключения не относится к нему.