事情终于发生了,是发生了。当初就只有几个条件  于是我就用了SQL拼接。现在好了。又增加了这么多。
 我不能在拼接下去了。不然会死的。
 求 最优的方法

解决方案 »

  1.   


    public static string getResult(string x, params object[] args);
      

  2.   

    你可以考虑一下用linq
    利用视图或者存储过程将用到信息全部筛选出来然后如下这样,需要什么条件,直接在where里面追加
    var data = EF.P_GetUserTestExportInfo().Where(a=>a.AddTime.Value>=uem.begin_time&&a.AddTime<uem.end_time.AddDays(1)).ToList();总之,无论怎样,随着需求的不断变化,查询条件也变化
      

  3.   

    继续拼凑,每个控件判断一下,然后用StringBuilder的Append方法将条件加上,就这么几个搜索条件又不多喽!StringBuilder sb = new StringBuilder();
    sb.Append("Select 字段列表 from 你的表名 where 1=1 ");
    if(条件一)
    {
        sb.Append(" and 关键字 like '%"+this.TextBox1.Text.Trim()+"%'");
    }
    else if(条件二)
     {
        .....
    }
    ........
      

  4.   

    这说明你根本没有理解“拼接”。实际上真是因为最初比较低级,所以你可以写死什么存储过程之类的。而当需求变化很快时,你就需要动态产生sql。动态产生sql是数据库编程的本事。
      

  5.   

    请参考关于Specification的Wiki:http://en.wikipedia.org/wiki/Specification_pattern
    你会有意外收获的!
      

  6.   

    请参考关于Specification的Wiki:http://en.wikipedia.org/wiki/Specification_pattern
    你会有意外收获的!
      

  7.   

    如果拼接个sql表达式你都很费力,学会第三方的什么“灵活拼接查询条件”编程语言我想你肯定更费力了。
      

  8.   

    如果拼接个sql表达式你都很费力,学会第三方的什么“灵活拼接查询条件”编程语言我想你肯定更费力了。