为什么将 DataSet 行值设置为 Nothing 会将其初始化为数据类型 minvalue?

问题描述 投票:0回答:2

当将 DataSet 行列设置为

Nothing
时,例如
row.Date = Nothing
,为什么会将其初始化为数据类型 minvalue?在本例中,日期设置为
0000-01-01
。该列设置为允许 null 等,如果我根本不将该行设置为任何内容,它将将该列留空。那么为什么
Nothing
会这样呢?

在 C# 中我会把它设置为

DbNull
,我猜,但我对 VB.NET 有点陌生——正如你可能知道的那样。 :)

vb.net dataset
2个回答
1
投票

Hps 是正确的,您应该使用

DBNull.Value
为数据库列分配
NULL
值。

  row.Date = DBNull.Value

您看到设置默认值的原因是 VB.NET 中的关键字

Nothing
相当于 C# 中的
default(T)
,而不是 C# 的
null
关键字。


1
投票

我想你也可以在 VB.Net 中设置 DBNull 以及类似的东西

table.Rows(0)(0) = System.DBNull.Value

row.Date = System.DBNull.Value

要分配“Nothing”,您需要具有可空类型

© www.soinside.com 2019 - 2024. All rights reserved.