1 关键是,你是要实现什么功能:是四个条件都有内容时查询,还是哪个内容有查哪个? 2 如果四个组合框都有内容,相对简单些: 3 string s = "select * from 表名 where 身份='" + comboBox1.SelectedItem.ToString() + "' and 部门='" + comboBox2.SelectedItem.ToString() + "' and 专业='" + comboBox3.SelectedItem.ToString() + "' and 班级='" + comboBox4.SelectedItem.ToString() + "'"; 4 如果想得到的效果是:选中哪个组合框,按哪个内容查询,比如说,选中身份和部门,按这两个查询,未选择的也不会出错,这样就相对麻烦些,需要拼凑SQL语句: 5 string tou = "select * from 表名 where 1=1"; 6 string wei = ""; 7 if (comboBox1.SelectedIndex != -1) 8 { 9 wei += " and 身份='" + comboBox1.SelectedItem.ToString() + "'"; 10 } 11 if (comboBox2.SelectedIndex != -1) 12 { 13 wei += " and 部门='" + comboBox2.SelectedItem.ToString() + "'"; 14 } 15 if (comboBox3.SelectedIndex != -1) 16 { 17 wei += " and 专业='" + comboBox3.SelectedItem.ToString() + "'"; 18 } 19 if (comboBox4.SelectedIndex != -1) 20 { 21 wei += " and 班级='" + comboBox4.SelectedItem.ToString() + "'"; 22 } 23 string chaxun = tou + wei; 24 最后的chaxun即为拼凑好的查询语句,注意后一种方法中,每个and 前面有个空格