黑马视频-多条件搜索
StringBuild sql=new StringBuild("select * from tb where 1=1")if(name!=""){sql.Append("and name like '%"+name+"%'");}if(sex!=""){sql.Append("and sex like '%"+sex +"%'");}
但是1=1对于某些数据库来说,会造成性能下降 ,改进方法如下:
List<string> wheres=new List<string>();if(name!=""){wheres.Add(" name like '%"+name+"%'");}if(sex!=""){wheres.Add(" sex like '%"+sex +"%'");}...if(wheres.count>0){string wh=string.Join(" and " wheres.ToArray());sql.Append("where " +wh);}
多条件查询,使用List集合进行拼接条件
带参数的SQL语句
List<string> wheres=new List<string>(); //条件字符串List<SqlParameter> listParameters=new List<SqlParameter>(); //条件参数if(name!=""){wheres.Add(" name =@name");listParameters.Add(new SqlParameter("@name",name))}if(sex!=""){wheres.Add(" sex =@sex");listParameters.Add(new SqlParameter("@sex",sex))}...if(wheres.count>0){string wh=string.Join(" and " wheres.ToArray());sql.Append("where " +wh);}//传入参数SqlHelper.ExectueDataTable(sql.ToString(),listParameters.ToAray());
模糊查询

浙公网安备 33010602011771号