我现在正在做一个通用查询,就是可以根据数据表中的所有字段进行查询,并且组合条件,问题是怎样判断一个字段是数值型,还是字符型,要根据不同的字段类型显示不同的查询条件出来(>,<,<=...)请高手指教,我搞了半天都没搞出来,分今天用光了不好意思

解决方案 »

  1.   

    int i = 0;
    string s = "test";
    bool flag = true;
    try
    {
      (int)i
    }
    catch
    {
      flag = false;
    }
      

  2.   

    用 .GetType() 不可以,他判断不出你textbox里输入的是字符串还是数字
    需要用正则表达式
      

  3.   

    不好好读C#的语法,嘿嘿if(obj is int)
    {
        .........
    }
      

  4.   

    从最小的集合,开始检测 try{  (int)i}catch{  flag = false;}
     或正则表达式都一样
      

  5.   

    foreach (DataColumn dc3 in dt.Columns)
                {
                     //怎样判断列dc3为字符型还是数值型,我用的下面的方法,可是不能实现
                    DataRow dr = dt2.NewRow();
                    dr["名称"] = dc3.ToString();
                    if(dc.GetType().Equals(System.Type.GetType("SqlDbType.Char")))
                    {
                        dr["keys"] = 1;
                       
                    }
                    else if (dc.GetType().Equals(System.Type.GetType("SqlDbType.NChar")))
                    {
                        dr["keys"] = 1;
                    }
                    else if (dc.GetType().Equals(System.Type.GetType("SqlDbType.Int")))
                    {
                        dr["keys"] = 2;
                    }
                    else
                        dr["keys"] = 2;                dt2.Rows.Add(dr);            }
                comboBox1.DataSource=dt2;
                comboBox1.DisplayMember="名称";
                comboBox1.ValueMember="keys";
                comboBox1.SelectedIndex=0;