Perché l'impostazione di un valore di riga DataSet a Nothing inizializzare al tipo di dati minvalue?
Domanda
Quando si imposta una colonna fila DataSet per Nothing
, come row.Date = Nothing
, perché ci si inizializza al tipo di dati minvalue? In questo caso una data, che viene impostata a 0000-01-01
. La colonna è impostato per consentire nullo ecc, e se non imposto la riga a nulla, lascerà la colonna vuota. Allora perché Nothing
agire in questo modo?
In C # avrei impostarlo DbNull
, immagino, ma io sono un po 'sul verde VB.NET - come si potrebbe essere in grado di raccontare. :)
Soluzione
Hps è corretto che si dovrebbe usare DBNull.Value
per assegnare un valore NULL
a una colonna di database.
row.Date = DBNull.Value
Il motivo che si vede l'essere impostato un valore di default è che la parola chiave Nothing
in VB.NET è paragonabile a default(T)
in C #, C # non 's null
parola chiave.
Altri suggerimenti
Credo che si sarà in grado di impostare DBNull in VB.Net così qualcosa di simile
table.Rows(0)(0) = System.DBNull.Value
o row.Date = System.DBNull.Value
Per l'assegnazione del "Nulla", è necessario avere Nullable Tipo