У меня есть проблема с фильтром данных между 2 текстовыми полями
теперь я использую код thx чтобы сделать фильтр в datagridview я хочу добавить 2 текстовых поля чтобы сделать фильтр между возрастом например между 20 и 30 как я могу это сделать я пробую muny вещь но она не работает со мной
private void Button1_Click(object sender, EventArgs e) { SqlCommand selectCommand = new SqlCommand(); var filterConditions = new[] { CreateSqlFilter("Name_Arabic", txtName_Arabic, selectCommand, false), CreateSqlFilter("gender", CBgender, selectCommand, false), CreateSqlFilter("CIVILIDD", txtCIVILIDD, selectCommand, true), CreateSqlFilter("status", comboBox1, selectCommand, false), CreateSqlFilter("username", txtusername, selectCommand, false), CreateSqlFilter("City", comboBoxCity, selectCommand, false), CreateSqlFilter("Governorate", comboBoxGovernorate, selectCommand, false), CreateSqlFilter("confirmation", comboBox2, selectCommand, false), CreateSqlFilter("NATIONALITY", CBNATIONALITY, selectCommand, false) // etc. }; string filterCondition = filterConditions.Any(a => a != null) ? filterConditions.Where(a => a != null).Aggregate((filter1, filter2) => String.Format("{0} AND {1}", filter1, filter2)) : (string)null; using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["my"].ConnectionString)) { selectCommand.Connection = connection; selectCommand.CommandText = filterCondition == null ? "SELECT * FROM tabl2" : "SELECT * FROM tabl2 WHERE " + filterCondition; connection.Open(); SqlDataAdapter adapter = new SqlDataAdapter(selectCommand); DataTable dataSource = new DataTable(); adapter.Fill(dataSource); dataGridView1.DataSource = dataSource; } } private string CreateSqlFilter(string fieldName, Control userInputControl, SqlCommand command, bool exactMatch) { string searchValue = null; if (userInputControl is TextBox) searchValue = ((TextBox)userInputControl).Text; if (userInputControl is ComboBox) searchValue = ((ComboBox)userInputControl).Text; if (String.IsNullOrWhiteSpace(searchValue)) return null; if (exactMatch) { command.Parameters.Add(new SqlParameter("@" + fieldName, searchValue)); return fieldName + " = @" + fieldName; } else { command.Parameters.Add(new SqlParameter("@" + fieldName, "%" + searchValue + "%")); return fieldName + " LIKE @" + fieldName; } }
Что я уже пробовал:
Послушайте я пробую это и это хорошо работает о том что я хочу я хочу объединить его с моим кодом frist чтобы заставить его работать в одной кнопке
SqlConnection con = new SqlConnection("Data Source=DESKTOP-J7D5POF;Initial Catalog=ilswork;Persist Security Info=True;User ID=****;Password=*****;connect timeout=900"); SqlDataAdapter sdf = new SqlDataAdapter("select * from tabl2 where age between'" + txt1.text + "'and'" + txt2.text + "'", con); DataTable sd = new DataTable(); sdf.Fill(sd); dataGridView1.DataSource = sd;