string sql="select fileds from table where 1=1";
if(!string.isnullorempty(供应商))
{
 sql+=" and 供应供应='"++"'"
}
if(状态!="")
{
sql+=" and 状态=";
}
……

解决方案 »

  1.   


    使用好的ide界面设计工具,你应该精通所有那种“基本上不用写代码、用鼠标拖拉就能编写出程序”的良好设计方式。不要中了一些人“越是低级的白手起家写代码就越有能力”的说法的当。一个优秀的程序员,他一定是在这种简单低级的界面设计和调整编程方面效率较高的,他一定会善用美工开发工具(而不是编写代码)。这样他才可能腾出时间去思考复杂的系统设计问题。
      

  2.   

    比如说,你可以看到 asp.net Validation 控件是如何运作的。显然你的那种控件也是类似的思路,你需要去搜索一下类似 Validation 可以进行统一处理并且输出 sql 的控件。或者干脆自己开发一个。为什么asp.net项目组已经有6、7年不再开发实用的企业管理业务常用的控件,而是扯什么asp.net mvc之类的?因为它们已经放弃了企业管理系统应用的程序员满(尽管嘴上还在忽悠程序员们),而仅仅关心那些做简单网页的人们去了。
      

  3.   

    一般做法就是查询的时候把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);
      //数据库操作
    }