PDA

View Full Version : [VB.NET] Valori DbNull in DataTable tipizzato


christiantric
27-07-2009, 12:10
Salve a tutti,
una semplice domanda: come faccio ad inserire un valore DbNull in una
colonna di un DataTable tipizzato di tipo Integer?

Se faccio
myDataRow.nomeColonna = DbNull.Value
VisualStudio mi dice che non è possibile convertire dal tipo DbNull a
Integer.
Ho controllato nel DataSet e la colonna in questione accetta valori Null.

Christian

MarcoGG
27-07-2009, 13:14
Salve a tutti,
una semplice domanda: come faccio ad inserire un valore DbNull in una
colonna di un DataTable tipizzato di tipo Integer?

Se faccio
myDataRow.nomeColonna = DbNull.Value
VisualStudio mi dice che non è possibile convertire dal tipo DbNull a
Integer.
Ho controllato nel DataSet e la colonna in questione accetta valori Null.

Christian

Forse perchè crei un DataRow in modo totalmente slegato dal DataSet in cui lo andrai ad inserire. Dal poco codice che hai postato non è chiaro il tuo procedimento.
In ogni caso, esiste un semplice modo per evitare che il DataSet non riconosca la riga che gli passiamo, ad esempio :

Dim DR As DataRow = mioDataSet.Tables(0).NewRow
DR.Item(0) = DBNull.Value
mioDataSet.Tables(0).Rows.Add(DR)

Il metodo NewRow() del DataTable assicura che il nuovo DataRow sia già "preformattato" e dovrebbe evitare brutte sorprese... ;)