if (s1 == true && s2 == true && s3 == true && s4 == true && s5 == true && s6 == true && s7 == true && s8 == true && s9 == true) { }
            if (s1==false&&s2==true&&s3==true&&s4==true&&s5==true&&s6==true&&s7==true&&s8==true&&s9==true)
            {            } if (s1==false&&s2==false&&s3==true&&s4==true&&s5==true&&s6==true&&s7==true&&s8==true&&s9==true)
            {
                
            }
            if (s1 == false && s2 == false && s3 == false && s4 == true && s5 == true && s6 == true && s7 == true && s8 == true && s9 == true)
            {            }
            if (s1 == false && s2 == false && s3 == false && s4 == false && s5 == true && s6 == true && s7 == true && s8 == true && s9 == true)
            {            }
            if (s1 == false && s2 == false && s3 == false && s4 == false && s5 == false && s6 == true && s7 == true && s8 == true && s9 == true)
            {            }
            if (s1 == false && s2 == false && s3 == false && s4 == false && s5 == false && s6 == false && s7 == true && s8 == true && s9 == true)
            {            }
            if (s1 == false && s2 == false && s3 == false && s4 == false && s5 == false && s6 == false && s7 == false && s8 == true && s9 == true)
            {            }
            if (s1 == false && s2 == false && s3 == false && s4 == false && s5 == false && s6 == false && s7 == false && s8 == false && s9 == true)
            {            }
            if (s1 == false && s2 == false && s3 == false && s4 == false && s5 == false && s6 == false && s7 == false && s8 == false && s9 == false)
            {            }
            if (s1 == false && s2 == false && s3 == false && s4 == false && s5 == false && s6 == false && s7 == false && s8 == false && s9 == false)
            {            }
我中间是要加SQL语句的。 目前只有9个条件 要是条件到100个呢 如果写判断得写那么长。求一算法。

解决方案 »

  1.   

    StringBuilder builder = new StringBuilder();
                builder.Append("select * from T_DHHM");
                builder.Append(" where ");
               我要在IF语句中 加 OR 或者AND 还有其他的SQL语句。
      

  2.   

    bool值可以不用==if(a && b && c && d && ....)if(!a && !b && !c....)
      

  3.   

    哪有像你说的那么多条件
    那需求定的也太不合适了
    bool值只能像楼上的那样判断
    把你要的条件都累加起来 加在where后面
      

  4.   

    string sql="select * from table";
    if(s1==false)
    {
       sql+="where xxx=xxx";
    }
    if(s2==false)
    {
       sql+=" and yyy=yyy";
    }你是这个意思吗?
      

  5.   

    感谢。我在做一个查询系统。目前有9个字段 我想根据算法来拼装一个SQL语句。
    StringBuilder builder = new StringBuilder();
                builder.Append("select * from T_DHHM");
                builder.Append(" where ");
                builder.Append("treeid='" + model.ClassName + "'");
                builder.Append("username like '%" + model.UserName + "%'");
                builder.Append("and bgtel like '%" + model.BgTel + "%' or pttel like '%" + model.PtTel + "%' or dztel like '%" + model.DzTel + "%' or bmtel like '%" + model.BmTel + "%' or sjtel like '%" + model.SjTel + "%' or ZZTel like '" + model.ZzTel + "' ");
    builder.Append("Sex = '" + model.Sex + "'");
    builder.Append("DW='" + model.DwName + "'");
    builder.Append("zzmm='" + model.Zzmm + "'");
     builder.Append("xzzw='" + model.Xzzw + "'");
     builder.Append("dnzw ='" + model.Dnzw + "'");
    builder.Append("sfsz='" + model.Sfsz + "'");
      

  6.   

    bool[] bs = {false,true,true};
    foreach(bool b in bs)
    {
    if(!b){ }
    }
      

  7.   

    修正:
    string where;
    string[] strs = {"where1","where2","where3"};
    bool[] bs = {true,true,true};
    for(int i=0;i<bs.Length;i++)
    {
    if(!bs)
    {
    where = strs[i];
    }
    }
      

  8.   

    string[] strs = { "treeid='" + model.ClassName + "'", "bgtel like '%" + model.BgTel + "%' or pttel like '%" + model.PtTel + "%' or dztel like '%" + model.DzTel + "%' or bmtel like '%" + model.BmTel + "%' or sjtel like '%" + model.SjTel + "%' or ZZTel like '" + model.ZzTel + "' ", "username like '%" + model.UserName + "%'", "Sex = '" + model.Sex + "'", "DW='" + model.DwName + "'", "zzmm='" + model.Zzmm + "'", "xzzw='" + model.Xzzw + "'", "dnzw ='" + model.Dnzw + "'", "sfsz='" + model.Sfsz + "'" };
                bool[] bs = { s1, s2,s3,s4,s5,s6,s7,s8,s9 };
                builder.Append(" where ");
                for (int i = 0; i < bs.Length; i++)
                {
                    if (bs[i] && i < 1)
                    {
                        builder.Append(strs[i]);
                    }
                    else
                    {
                        string ss;
                        if (bs[i])
                        {
                            if (i == bs.Length - 1)
                            {
                                ss = strs[i];
                            }
                            else
                            { ss = strs[i] + " and "; }                        builder.Append(ss);
                        }
                    }
                }
    非常感谢 我给改造了一下