代码之家  ›  专栏  ›  技术社区  ›  msfanboy

数据集列可以为空,但不能转换为字符串?

  •  1
  • msfanboy  · 技术社区  · 16 年前

    错误消息:this.MetaData'引发了类型为的异常'System.Data.strong类型异常'

    底座{System.SystemException系统异常}={“表'GMyTAbleName'中'MyData'列的值为DBNull。”}

    http://666kb.com/i/bld3eelnaicsgb9tv.png

    您可以看到它如何尝试将NULL转换为应该返回的字符串。

    2 回复  |  直到 16 年前
        1
  •  0
  •   kbrimington    16 年前

    考虑首先使用 IsNull DataRow

    我从来没有喜欢过。:)

        2
  •  0
  •   msfanboy    16 年前

    1.) http://msdn.microsoft.com/en-us/library/ya91ataz(vs.71).aspx

    选择this:(Empty)使null值作为字符串。空.

    2.)我们现在字符串。空不是有效的xml字符串,我在相应属性的getter中对此进行了检查。

    private XmlDocument XMLMyData
     {
        get
        {
            XmlDocument doc = new XmlDocument();    
    
            if (this.MyData.Trim().Length > 0) 
                doc.LoadXml(this.MyData); // return xml-string in the xml document
            else if (String.IsNullOrEmpty(this.MyData)) 
                return doc;             // return empty xml document
    
            return doc;                                     
        }
    }