今天在做项目的时候,需要做三个条件(可以输入一个或者两个)的联合查询。还必须要用sql进行写,当时不知道如何判断根据传入的个数进行拼接SQL语句。后来想明白了
重要的是要在Where后边加一个恒成立的条件 比如where 1=1 然后不为空的直接在后边追加就行了~ 特此记录一下
string sql = "select 姓名,身份证号,报名序号,报考单位,报考职位,订单号 " +
"from 考生表 inner join 收费表 on 考生表.主键编号=收费.主键编号 where 1=1";
if (_Name != null)
{
sql += "and 姓名 LIKE '%" + _Name + "%'";
}
if (_IdCard != null)
{
sql += "and 身份证号 like '%" + _IdCard + "%'";
}
if (_BKDW != null)
{
sql += "and 报考单位 like '%" + _BKDW + "%'";
}