我在用DataGrid读取数据库中值的时候遇到这样一个问题:
如果数据表中的某个字段的值为null时会出错。
但我用了if语句判断,确不知道怎么判断,用了以下语句都不行:
if(myCompany.MobilePhone.ToString()!=null || myCompany.MobilePhone.ToString()!="" || myCompany.MobilePhone.ToString()!=string.Empty)
{……}
myCompany.MobilePhone表示数据库中为null的那个字段。
请教各位高手!!不胜感激!!

解决方案 »

  1.   

    试一下这样直接改一下!!!myCompany.MobilePhone=myCompany.MobilePhone+"";
      

  2.   

    但是我在显示其中的值的时候,需要判断它是不是null,难道不论有没有值,都来个myCompany.MobilePhone=myCompany.MobilePhone+"";??
      

  3.   

    如果为空,就不能ToString了你可以直接判断myCompany.MobilePhone是否为空
      

  4.   

    如何判断myCompany.MobilePhone是否为空??谢谢!!
      

  5.   

    试试
      可以直接在取数据库的myCompany.MobilePhone的字段的时候,用<%# DataBinder.Eval(Container.DataItem,"MobilePhone").ToString() %>
      

  6.   

    if (myCompany.MobilePhone)==null
      

  7.   

    难道不论有没有值,都来个myCompany.MobilePhone=myCompany.MobilePhone+"";为什么不行啊,如果有值的话,也不会对原来的值有什么影响啊,如果为NULL的话就直接转为"";我觉的比较判断还要方便!!!
      

  8.   

    不知楼主用的是SqlDataReader读的数据还是,用的DataSet
      

  9.   

    if (myCompany.MobilePhone)==null
    不行
      

  10.   

    if(myCompany.MobilePhone.ToString()!=null && myCompany.MobilePhone.ToString()!="" && myCompany.MobilePhone.ToString()!=string.Empty)
    {……}||->&&
      

  11.   

    myCompany如果是SqlDataReader对象,可以这样
    if(myCompany.read())
    {
       if(!myCompany.IsDbNull(1))
          //不为空的处理
    }
      

  12.   

    如果数据库中的值为空,datagrid中它的值应该是&nbsp;
      

  13.   

    如果使用myCompany.MobilePhone=myCompany.MobilePhone+"";
    对数值型怎么办??
      

  14.   

    唉,
    myCompany.MobilePhone=myCompany.MobilePhone+"";
    这句也不行。
      

  15.   

    如果你一定要判断才安心的话,就试试下面的:if(myCompany.MobilePhone==System.DBNull.Value)
      

  16.   

    if(myCompany.read())
    {
       if(!myCompany.IsDbNull(1)) //1是你的这个字段在select 中的从0开始的位置
          //不为空的处理
    }
    这样也不行吗?
      

  17.   

    这样就行了
    if(datarow["字段"]!=DBNull.Value)
    {
    }
      

  18.   

    不好意思,因为我使用的对象生成器的原因,没法用您的方法(myCompany.read()),不好意思。
      

  19.   

    myCompany.MobilePhone !=NULL 不能ToString()不然会出错
      

  20.   

    奥,我明白了,在使用myCompany.MobilePhone调用数据库中值的使用就会因为null出错,也就是不能在执行比较操作了,那这样可不可以呢,使用try{}catch{}
      

  21.   

    使用try{}catch{}可以躲开那个错误,这样处理好不好呢??