多ComboBox实现复杂查询-LMLPHP

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