Member 12365816 Ответов: 1

У меня есть ошибка в коде позади, пожалуйста, проследите мою проблему.... oledbexception accoured


Эта ошибка произошла
Цитата:
Системы.Данных.Oledb.OleDbException(0x80040E): нет значения для одного или нескольких обязательных параметров.


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

conn.Open();
string query1 = "select*from tblLoan where EmpsID like '" + textBoxEmpsID.Text + "%' And Starting_Month Like'" + comboBoxMonth.SelectedItem + "%' And Status Like'" + "A" + "%'";
DataTable dt = new DataTable();
OleDbDataAdapter dad = new OleDbDataAdapter(query1, conn);
dad.Fill(dt);
Installments.Text = dt.Rows[0][2].ToString();
Status.Text = dt.Rows[0][5].ToString();
LoanID.Text = dt.Rows[0][7].ToString();
conn.Close();

Karthik_Mahalingam

что такое сообщение об ошибке?

Member 12365816

Системы.Данных.Oledb.OleDbException(0x80040E): нет значения для одного или нескольких обязательных параметров

Member 12365816

Системы.Данных.Oledb.OleDbException(0x80040E): нет значения для одного или нескольких обязательных параметров

Karthik_Mahalingam

поместите отладчик и проверьте, что comboBoxMonth.SelectedItem не является нулевым, а также оператор кажется неправильным, дайте пробел между "select*from", например'"

Member 12365816

я проверяю, что comboBoxMonth не равен null и "Select*from tblLoan where EmpsID like'", но происходит исключение

Karthik_Mahalingam

Выберите * из tblLoan
попробуй это в одиночку

1 Ответов

Рейтинг:
2

OriginalGriff

Если это код, который выдает ошибку, то, скорее всего, это связано с содержимым вашего текстового поля или вашего комбо: и делать это так-очень плохая идея в любом случае! Никогда не объединяйте строки для построения SQL-команды. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.
Если вы сделаете это, есть очень хороший шанс, что ваша ошибка исчезнет в то же самое время.