当将 DataSet 行列设置为
Nothing
时,例如 row.Date = Nothing
,为什么会将其初始化为数据类型 minvalue?在本例中,日期设置为 0000-01-01
。该列设置为允许 null 等,如果我根本不将该行设置为任何内容,它将将该列留空。那么为什么Nothing
会这样呢?
在 C# 中我会把它设置为
DbNull
,我猜,但我对 VB.NET 有点陌生——正如你可能知道的那样。 :)
Hps 是正确的,您应该使用
DBNull.Value
为数据库列分配 NULL
值。
row.Date = DBNull.Value
您看到设置默认值的原因是 VB.NET 中的关键字
Nothing
相当于 C# 中的 default(T)
,而不是 C# 的 null
关键字。
我想你也可以在 VB.Net 中设置 DBNull 以及类似的东西
table.Rows(0)(0) = System.DBNull.Value
或
row.Date = System.DBNull.Value
要分配“Nothing”,您需要具有可空类型