Pourquoi est-ce une mise en valeur de la ligne DataSet à rien initialiser à valeurmin type de données?

StackOverflow https://stackoverflow.com/questions/4335417

  •  30-09-2019
  •  | 
  •  

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. :)

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top