SQLServer int字段.价值有时为空.DataAdapter填充数据集确定,可以在DatagridView中显示数据.
尝试从数据集以编程方式检索数据时,数据集字段检索代码会引发StronglyTypedException错误.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public int curr_reading { get { try { return ((int)(this[this.tableHistory.curr_readingColumn])); } catch (global::System.InvalidCastException e) { throw new global::System.Data.StrongTypingException("The value for column \'curr_reading\' in table \'History\' is DBNull.", e); }
通过在get访问器中检查DBNull并返回null但是......当数据集结构被修改(仍在开发)时,我的更改(不出所料)就消失了.
处理这种情况的最佳方法是什么?似乎我在数据集级别处理它时遇到困难.是否有某种属性可以告诉自动代码生成器将更改保留在原位?
在类型化数据集设计器中有nullvalue
属性.默认情况下,它的值是throw exception
(因此生成的代码)您可以将其设置为所需的default value
..即.0.然后它将返回0而不是异常.(生成其他代码)
VS2008:这直接在数据集设计器中工作.
VS2005:它只适用于设计器中的字符串,但你可以直接编辑XSD一套属性msprop:nullValue ="0"