Проблема при поиске данных из базы данных в C# winform
я пытаюсь найти значение текстового поля из базы данных и использую этот код, и он отлично работает
private DataTable PopulateDataGridView() { string query = "SELECT Number, CustomerName, MobileNo, SecMobileNo FROM customer"; query += " WHERE Number LIKE '%' + @SearchTerm + '%'"; query += " OR CustomerName LIKE '%' + @SearchTerm + '%'"; query += " OR MobileNo LIKE '%' + @SearchTerm + '%'"; query += " OR SecMobileNo LIKE '%' + @SearchTerm + '%'"; query += " OR @SearchTerm = ''"; string constr = ConfigurationManager.ConnectionStrings["TestData"].ConnectionString; using (OleDbConnection con = new OleDbConnection(constr)) { using (OleDbCommand cmd = new OleDbCommand(query, con)) { cmd.Parameters.AddWithValue("@SearchTerm", txtName.Text.Trim()); using (OleDbDataAdapter sda = new OleDbDataAdapter(cmd)) { DataTable dt = new DataTable(); sda.Fill(dt); return dt; } } } }
но когда я пытаюсь в моем datatable показать и искать только те данные, значение столбцов состояния которых "открыто", но мой код не работает, и данные отображаются так же, как мой выше/старый код без какого-либо фильтра
Что я уже пробовал:
private DataTable PopulateDataGridView() { string query = "SELECT Number, CustomerName, MobileNo, SecMobileNo, Status FROM customer"; query += " WHERE Number LIKE '%' + @SearchTerm + '%'"; query += " OR CustomerName LIKE '%' + @SearchTerm + '%'"; query += " OR MobileNo LIKE '%' + @SearchTerm + '%'"; query += " OR SecMobileNo LIKE '%' + @SearchTerm + '%'"; query += " OR @SearchTerm = ''"; query += "AND Status=@Status"; string constr = ConfigurationManager.ConnectionStrings["TestData"].ConnectionString; using (OleDbConnection con = new OleDbConnection(constr)) { using (OleDbCommand cmd = new OleDbCommand(query, con)) { cmd.Parameters.AddWithValue("@SearchTerm", txtName.Text.Trim()); cmd.Parameters.AddWithValue("@Status", "OPEN"); using (OleDbDataAdapter sda = new OleDbDataAdapter(cmd)) { DataTable dt = new DataTable(); sda.Fill(dt); return dt; } } } }
ZurdoDev
Вы должны это отладить. Что ты хочешь, чтобы мы сделали?