我有五个条件需要检查(即用户是否想使用此字段进行搜索)。有四个组合框和一个文本字段。用户可以根据需要使用任何字段或多个字段进行搜索。为了检查用户选择的字段,我构建了几个if和else if语句。但是在仅处理两个条件时,我意识到这对于五个条件来说将是多么繁琐的任务,是否有更好的方法来解决这个问题?
if (cmbAgent.Text=="")
{
if (cmbDegree.Text=="")
{
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM UniversityData", connection);
}
else
{
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM UniversityData WHERE Expertise LIKE '%" + cmbDegree.Text + "%' ", connection);
}
}
else if(cmbDegree.Text=="")
{
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM UniversityData WHERE SourceOfContact LIKE '%"+ cmbAgent.Text + "%' ", connection);
}
else
{
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM UniversityData WHERE SourceOfContact LIKE '%" + cmbAgent.Text + "%' and Expertise LIKE '%" + cmbDegree .Text + "%' ", connection);
}