gpt4 book ai didi

数据集字段 DBNull -> int?

转载 作者:行者123 更新时间:2023-12-01 07:46:38 26 4
gpt4 key购买 nike

SQLServer 整型字段。值有时为空。DataAdapter填充数据集OK,可以在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 (因此你生成的代码)您可以将其设置为所需的默认值 .. 即。 0。然后它将返回 0 而不是异常。 (生成其他代码)

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

VS2005:它仅适用于设计器中的字符串,但您可以直接编辑 XSD 并设置属性 msprop:nullValue="0"

关于数据集字段 DBNull -> int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/601114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com