Sto tentando di aggiungere una colonna a uno esistente DataRow
in C#. Successivamente la colonna verrà riempita con un singolo valore dal mio database.ExecuteScalar restituisce null o DBNull (server di sviluppo o produzione)
DataRow dr esiste già e la colonna "COLNAME" esiste anche.
comTBP è il mio SqlCommand
.
dr["COLNAME"] = Convert.ToInt32(comTBP.ExecuteScalar());
Questo tutto funziona bene se c'è un valore nel mio database e ExecuteScalar() può ottenere quel valore. Se provo questo codice sul mio server di sviluppo (locale) funziona anche se ExecuteScalar() restituisce null o DBNull e il valore della mia nuova colonna è 0. Ma il problema si verifica se distribuisco il mio codice sul server di produzione. Se faccio tutto lo stesso, con lo stesso database getta un'eccezione con un messaggio che non può convertire DBNull in Int32.
La mia domanda è: perché questo errore appare sul server di produzione e non sul mio server di sviluppo locale?
Molto probabilmente diversi dati sulla produzione e lo sviluppo. – leppie