C# comparare valori null del db

martedì 05 maggio 2009 - 15.04

valerik Profilo | Junior Member

Ciao a tutti,
sto usando c#, sql server 2005, framework 3.5
Se ho un valore "null" nel db, poi nel codice c# come faccio a gestirlo?
Ho provato cosi', ma non sembra funzionare
Es.:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

O anche:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
In questo caso, se il valore che riprendo dal db e' -1, non mi entra nel "if", ma se e' "null", invece entra.
Allora come devo fare?
Grazie a tutti
valerik

rossimarko Profilo | Guru

Ciao,

puoi fare la verifica con

if (dr["Colonna"] != DBNull.Value)

oppure

if (!dr.IsNull("Colonna"))
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

valerik Profilo | Junior Member

Ho provato, ma lo passa lo stesso
valerik

rossimarko Profilo | Guru

Tu cosa vuoi verificare?

Hai provato semplicemente a mettere in una variabile stringa il contenuto per capire cosa c'è? un banale string str = dr["Colonna"].ToString ?

Quale dei due check non funziona? Il null o il "-1" ?
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

4mane Profilo | Junior Member

>Es.:
>if ((rdrVeicolo["id_circostanza_presunta"].ToString() != "-1")
>|| (!DBNull.Value.Equals(rdrVeicolo["id_circostanza_presunta"])))
> {
>//faccio cose
>}
>
Prova a suddividere la OR della if, controllando prima se è null il valore e poi se corrisponde al valore da te desiderato:
if (rdrVeicolo["id_circostanza_presunta"] == DBNull.Value) { return false; } if (rdrVeicolo["id_circostanza_presunta"].ToString() == "-1") { return false; } else { //faccio cose }
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5