[C#] nullreferenceexception при поиске в datagridview из другой формы
Я не знаю, что вызывает эту проблему. У меня есть 2 формы (форма поиска и форма счетов) в форме счетов есть кнопка поиска, которая открывает поиск.
Код для открытия формы поиска:
private void btnSearch_Click(object sender, EventArgs e) { SearchForm sf = new SearchForm(); sf.ShowDialog(); }
В форме поиска это коды:
public partial class SearchForm : Form { public static string search; private readonly AcctsForm rf; public SearchForm(AcctsForm actform) { rf = actform; } public SearchForm() { InitializeComponent(); } private void btnOK_Click(object sender, System.EventArgs e) { search = textBox1.Text; rf.SearchedList("SELECT * FROM Employees_Info WHERE Emp_ID = @Search"); this.Close(); } }
Из формы учетные записи (на событие SearchedList ссылается кнопка Search OK):
public void SearchedList(string x) { try { using (sqlSelect = new SqlDataAdapter(x, conn)) { sqlSelect.SelectCommand.Parameters.AddWithValue("@Search", SearchForm.search); sqldt = new DataTable(); sqlSelect.Fill(sqldt); if (sqldt.Rows.Count >= 1) { dgvEmployees.DataSource = sqldt; } else { MessageBox.Show("not results found."); } } } catch (SqlException err) { MessageBox.Show(err.Message); } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } }
Что я уже пробовал:
Когда я ищу значение/данные в текстовом поле поиска, которое не зарегистрировано в базе данных, messagebox "no results found" работает, но когда вводится правильное значение, оно выдает исключение NullReferenceException. Я уже все погуглил и попробовал "создать экземпляр" форума учетных записей, но он ничего не делает (модификаторы уже установлены на Public). Есть идеи? Заранее спасибо всем, кто может помочь!