当前位置:  开发笔记 > 数据库 > 正文

数据集字段DBNull - > int?

如何解决《数据集字段DBNull->int?》经验,为你挑选了1个好方法。

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但是......当数据集结构被修改(仍在开发)时,我的更改(不出所料)就消失了.

处理这种情况的最佳方法是什么?似乎我在数据集级别处理它时遇到困难.是否有某种属性可以告诉自动代码生成器将更改保留在原位?



1> Julian de Wi..:

在类型化数据集设计器中有nullvalue属性.默认情况下,它的值是throw exception(因此生成的代码)您可以将其设置为所需的default value..即.0.然后它将返回0而不是异常.(生成其他代码)

VS2008:这直接在数据集设计器中工作.

VS2005:它只适用于设计器中的字符串,但你可以直接编辑XSD一套属性msprop:nullValue ="0"

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有