日期:2014-05-17  浏览次数:20434 次

多条件查询!求一个简单高效的方法!


像这样的多个条件查询数据,条件是要累加的选择几个就要满足几个。但是我开始做的方法代码太冗余了,现在再加一个条件就要加几十行代码。有没有人给我提供一个简便一点的方法啊!真的谢谢了!

------解决方案--------------------
string sql="select fileds from table where 1=1";
if(!string.isnullorempty(供应商))
{
 sql+=" and 供应供应='"++"'"
}
if(状态!="")
{
sql+=" and 状态=";
}
……
------解决方案--------------------
引用:


像这样的多个条件查询数据,条件是要累加的选择几个就要满足几个。但是我开始做的方法代码太冗余了,现在再加一个条件就要加几十行代码。有没有人给我提供一个简便一点的方法啊!真的谢谢了!


使用好的ide界面设计工具,你应该精通所有那种“基本上不用写代码、用鼠标拖拉就能编写出程序”的良好设计方式。不要中了一些人“越是低级的白手起家写代码就越有能力”的说法的当。

一个优秀的程序员,他一定是在这种简单低级的界面设计和调整编程方面效率较高的,他一定会善用美工开发工具(而不是编写代码)。这样他才可能腾出时间去思考复杂的系统设计问题。
------解决方案--------------------
一般做法就是查询的时候把where条件当做参数传进来
现在后台拼接好where条件,然后再进行sql查询

eg.
function()
{
  string where = " 1=1";
  if(条件判断)
  {
    where += " AND 条件";
  }
  database(where);
}
database(string where)
{
  string cmd = string.format("SELECT * FROM Table WHERE {0}" ,where);
  //数据库操作
}