Pourquoi est-ce une mise en valeur de la ligne DataSet à rien initialiser à valeurmin type de données?
Question
Lors de la définition d'une colonne de ligne DataSet à Nothing
, comme row.Date = Nothing
, pourquoi est-il initialise à valeurmin type de données? Dans ce cas, une date, qui se prépare à 0000-01-01
. La colonne est définie pour permettre nulle etc., et si je ne mets pas la ligne à quoi que ce soit, il laissera la colonne vide. Alors, pourquoi Nothing
agir de cette façon?
En C # je l'ai mis à DbNull
, je suppose, mais je suis un peu vert sur VB.NET - que vous pourriez être en mesure de dire. :)
La solution
Hps est exact que vous devez utiliser DBNull.Value
pour attribuer une valeur de NULL
à une colonne de base de données.
row.Date = DBNull.Value
La raison pour laquelle vous voyez la valeur par défaut étant ensemble est que le mot-clé dans Nothing
VB.NET est comparable à default(T)
en C #, pas C # 's mot clé null
.
Autres conseils
Je pense que vous serez en mesure de mettre DBNull en VB.Net et quelque chose comme
table.Rows(0)(0) = System.DBNull.Value
ou row.Date = System.DBNull.Value
Pour attribuer le "rien", vous aurez besoin d'avoir Nullable type