Convert.toBoolean(string);只能是string为"true"或"false"值时才可以转换,请帮忙!谢谢!!

解决方案 »

  1.   

    to  orbitbd(大天二) :
    "((101>100) && (101<500))"转换成bool
      

  2.   

    如果不要引号的话,直接返回的就是bool值。
    干吗要字符串呢?
      

  3.   

    我的条件表达式是存在数据库中的一个字段的值:((i>100)&& (i<500))我需要代入数值(如101),看表达式是否成立,请大家帮忙!
      

  4.   

    先把I从数据库取出来,然后
    public bool check(int i)
    {
       if(i>100&&i<500)
       {
         return true;
       }
        else
    {
    return false;
    }
    }
    是这个意思吗?
      

  5.   

    数据库存的是((i>100)&&(i<500))?
      

  6.   

    ye! "((i>100)&&(i<500))"
      

  7.   

    to sequelbo(那一剑的风情) :我数据库存的是一个条件表达式形如"((i>100)&&(i<500))"之类问题:
    假若我想知道1~200这此数据是否满足上面这此表达式;我的做法:
    取出条件表达表,替换i为实际数据,表达式成:"((1>100)&&(1<500))",但这时是字符串格式.请问:
    如何判断这个表达式是真或假。不知是否说清楚(^_^)
      

  8.   

    把条件表达式用SQL的语法 再动态生成SQL语句的处理
    string Where = "(101>100) AND (101<500)";
             string sql = "Select boolitem = Case When "+Where+" Then 'True'  else 'False'  end";
      

  9.   

    SQL处理完结果后放在程序中转成Bool型
      

  10.   

    string aa="((i>100)&&(i<500))";
    string a=aa;
    a=a.Remove(0,a.IndexOf(">")+1);
    a=a.Remove(a.IndexOf(")"),a.Length-a.IndexOf(")"));
    string b=aa;
    b=b.Remove(0,b.IndexOf("<")+1);
    b=b.Remove(b.IndexOf(")"),b.Length-b.IndexOf(")"));
    int inta=Convert.ToInt32(a);
    int intb=Convert.ToInt32(b);
    int i=300;
    this.check(i,a,b);
    public bool check(int i,int a,int b)
    {
       if(i>a&&i<b)
       {
         return true;
       }
        else
    {
    return false;
    }
    }
      

  11.   

    caozping(蓝贝) 真高!!
    佩服!
      

  12.   

    to caozping(蓝贝) :
    但这样要连接数据库(即使不操作任何数据),影响速度!
    下面是我的部分程序:
    //条件判断
    private bool CheckValue(string strIF,string strIFCurr)
    {
    int intMin=0;
    int intMax=1000; //求需要检验的最大值和最小值(可扩充)
    string strField="";
    string strSql="";
    strField=GetIFField(strIF);
    Lib.DB objDB=new Lib.DB();
    DataSet objDs=null;
    //for (int i=-2147483648;i<2147483647;i++)
    for (int i=intMin;i<intMax;i++)
    {
    strSql="select count(*) as cnt where " + strIF.Replace(strField,i.ToString());
    objDs=objDB.getDataSet(strSql);
    // string strTmp="";
    // strTmp=strIF.Replace(strField,"'"+i.ToString()+"'");
    if (objDs.Tables[0].Rows[0]["cnt"].ToString()=="1") return false;
    }
    objDs.Dispose();
    objDB=null;
    return true;
    }只用了1000个数值,要3秒,如果是所有整数...
    请问不连接数据库,可以实现吗?请指点!