代码如下(前面连接数据库的部分就省了): DataRow thisRow = thisDataSet.Tables["jcjlb"].NewRow();
        String jd=Textjd.Text ;
       
        float mdjd = float.Parse(jd);
        thisRow["mdcjd"] = mdjd;数据库是sql server,字段mdcjd为float类型,当我在textbox里面不输入任何值的时候,向数据库里提交,就会报错:用户代码未处理FromatException,输入字符串的格式不正确我以为是数据类型转换的问题,还用了这种方法:float mdjd=(float)(Double.Parse(jd));但是同样的错误。另外,在设计库的时候,是允许这个字段为空的头大了,请各位高手帮助,非常感谢!

解决方案 »

  1.   

    你不妨加一个判断!因为null值是没有办法转换成浮点类型的!你这样做
    DataRow   thisRow   =   thisDataSet.Tables["jcjlb"].NewRow();
                    String   jd=Textjd.Text   ;
                 if(Textjd.Text.value !=null&&Textjd.Text.value!="")
                    {
                    float   mdjd   =   float.Parse(jd);
                    thisRow["mdcjd"]   =   mdjd; 
                    }
    这样数据库就可以空了
      

  2.   

    float   mdjd   =   (float)Double.Convert(jd); 
    thisRow["mdcjd"]   =   mdjd; 
      

  3.   

    加上判断:
    thisRow.Columns["mdcjd"].AllowNull = true;if(string.IsNullOrEmpty(Textjd.Text))
    {
       thisRow["mdcjd"] = System.DBNull.Value;
    }
      

  4.   

    出错的应该是这里float   mdjd   =   float.Parse(jd); 
    在前面先if (Textjd.Text.Trim() != string.Empty)判断是否为空吧
      

  5.   

    跟踪一下,然后把SQL语句 给大家贴出来看看
      

  6.   

    textbox里什么都不填的时候值为string.Empty也就是"",不是Null,这个可得先弄清楚哦。