C# 窗口窗体应用程序中两个下拉菜单之间的搜索

C# 窗口窗体应用程序中两个下拉菜单之间的搜索,c#,.net,winforms,C#,.net,Winforms,我通过一个下拉菜单实现了搜索 private void search_Click(object sender, EventArgs e) { string query = "SELECT * FROM magzines where issue_number = '"+comboBox1.Text+"'"; SqlDataAdapter sda = new SqlDataAdapter(query , con);

我通过一个下拉菜单实现了搜索

 private void search_Click(object sender, EventArgs e)
        {
            string query = "SELECT * FROM magzines where issue_number = '"+comboBox1.Text+"'";
            SqlDataAdapter sda = new SqlDataAdapter(query , con);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            dataGridView1.Rows.Clear();
            foreach (DataRow item in dt.Rows)
            {
                int n = dataGridView1.Rows.Add();
                dataGridView1.Rows[n].Cells[0].Value = item[0].ToString();
                dataGridView1.Rows[n].Cells[1].Value = item[1].ToString();
                dataGridView1.Rows[n].Cells[2].Value = item[2].ToString();
                dataGridView1.Rows[n].Cells[3].Value = item[3].ToString();
            }
        }
请帮助我如何通过两个下拉菜单进行搜索?

您应该更改为以避免,而不是像现在这样连接SQL字符串。要回答此问题,请添加第二个下拉列表并在查询中使用

string query = "SELECT * FROM magzines where issue_number BETWEEN '"+comboBox1.Text+"' AND '"+comboBox2.Text+"'";
使用参数的示例

using (SqlConnection conn = new SqlConnection(con))
    {
      string query = "SELECT * FROM magzines where issue_number BETWEEN '@comboOne' AND '@comboTwo'";
      using (SqlCommand cmd = new SqlCommand(query, conn))
      {
        cmd.Parameters.Add("comboOne", SqlDbType.VarChar).Value = comboBox1.Text;
        cmd.Parameters.Add("comboTwo", SqlDbType.VarChar).Value = comboBox2.Text;
        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
          da.Fill(table);            
      }
    }

您可以使用BindingSource

 BindingSource source1 = new BindingSource();
source1.DataSource = view1;

// Set the data source for the DataGridView.
datagridview1.DataSource = dt ;

//The Filter string can include Boolean expressions.
source1.Filter = "artist = 'Dave Matthews' OR cd = 'Tigerlily'";

如需更多访问

您的查询不清楚,请在clearthkyou cristiandev上给出我想添加的高级搜索功能几乎是7到8个下拉菜单。请帮助我如何应用条件?如果一个下拉列表未被选中,而另一个下拉列表已被选中?您最初要求了两个,但问题没有改变?很快我错误地写了2。我的问题是多个下拉列表你在问题的标题和正文中都写了两个?!我认为您应该解决使用两个的问题,也许可以为多个问题打开一个新的问题,因为对多个问题的回答实际上不会回答上述问题。