DataSet 列可以为 NULL 但不能转换为字符串?
我有一个字符串,如果它不为空,它可以为空,它包含一个 xml 文档。问题是 DataType System.String 的此数据集列中允许空值。
错误消息:this.MetaData' 引发了类型为 'System.Data.StrongTypingException' 的异常
base {System.SystemException} = {“表 'GMyTAbleName' 中列 'MyData' 的值为 DBNull。”}
UPDATE< /strong>
这是原因的屏幕截图:
http://666kb.com/i/bld3eelnaicsgb9tv.png
你会看到它如何尝试将 NULL 转换为应该返回的字符串。
该代码来自 DataSet.Designer.cs 文件,我如何更改该行为? :S
I have a string which can be empty if its not empty it is containing a xml document. The problem is null values are allowed in this dataset column of DataType System.String.
Error Message:this.MetaData' threw an exception of type 'System.Data.StrongTypingException'
base {System.SystemException} = {"The value for column 'MyData' in table 'GMyTAbleName' is DBNull."}
UPDATE
here is a screenshot of the cause:
http://666kb.com/i/bld3eelnaicsgb9tv.png
you see how it tries to convert NULL to a string which should be returned.
That code is from the DataSet.Designer.cs file, how could I change that behaviour? :S
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请考虑首先使用
DataRow
上的IsNull
方法测试列。我从来没有像DBNull那样做过。 :)
Consider testing the column first using the
IsNull
method on theDataRow
.I've never did like DBNull. :)
好吧,我成功了。我将在此处列出步骤:
1.) http:// /msdn.microsoft.com/en-us/library/ya91ataz(vs.71).aspx
选择此选项:(空)要让 null 值返回为 String.Empty。
2.) 现在 string.empty 不是有效的 xml 字符串,我在相应属性的 getter 中检查了这一点。
ok I made it working. I will list the steps here:
1.) http://msdn.microsoft.com/en-us/library/ya91ataz(vs.71).aspx
choose this: (Empty) To have null values return as String.Empty.
2.) As we now a string.empty is not a valid xml-string I checked this in the getter of my appropriate property.