解决方案 »

  1.   


    if (string.IsEmptyOrWhiteSpace(sread["head_picture"]))
    {}
      

  2.   

    感谢回复。应该是 if (string.IsNullOrWhiteSpace(sread["head_picture"].ToString()))但是还是不可以,同一个异常。
      

  3.   

    sread是否是DataRow对象? 确认其是否有数据来源.用法举例 foreach (DataRow sread in [DataSet对象].Tables[0].Rows)
     {
        if (sread["head_picture"]== System.DBNull.Value)
        {
          ...
        }
    }                    
      

  4.   

    参考 http://hi.baidu.com/keepzeal/item/3faa65106665cd5c2b3e2270
      

  5.   

    我用的是datareader.我的string sql = "select * from users where username='" + username + "';";是这样写的。按理说我把×换成head_picture后datareader应该为空吧?但是hasrows还是true。很奇怪。
      

  6.   

    参考 http://hi.baidu.com/keepzeal/item/3faa65106665cd5c2b3e2270
    恩,感谢回复。这个问题解决了。是我没理解c#中@
      

  7.   

    if (sread["head_picture"]==null)
    {}
      

  8.   

    等于null是不可以的。我感觉问题不在于=什么。而是datareader好像不可以读取数据库里为null的字段。我用版主大大说的dataset解决问题了。期待版主大大的回复吧。
      

  9.   

    鄙人只用过DataSet的写法,如3楼代码.对datareader不甚了解,看过资料,这种对象貌似对性能不好喔,建议少用.
      

  10.   

    感谢版主的帮助。用dataset是可以解决这个问题。对datareader表示很无奈。