Cast intero null

lunedì 28 agosto 2006 - 14.55

Nicola Profilo | Senior Member

Cast from type 'DBNull' to type 'String' is not valid.

sto editando un datagrid un valore Int se lasciato vuote deve andare nel DB NULL (campo intero)

mi esce l'errore Cast from type 'DBNull' to type 'String' is not valid.

myCommand.Parameters.Add("@VALORE", SqlDbType.Int).Value = iValore

iValore puo' essere nullo.


help me.
grazie Nicola

alx_81 Profilo | Guru

>Cast from type 'DBNull' to type 'String' is not valid.
>
>sto editando un datagrid un valore Int se lasciato vuote deve
>andare nel DB NULL (campo intero)
>
>mi esce l'errore Cast from type 'DBNull' to type 'String' is
>not valid.
>
>myCommand.Parameters.Add("@VALORE", SqlDbType.Int).Value = iValore
>
>iValore puo' essere nullo.

probabilmente il datagrid non riesce a leggere il valore una volta inserito in db.
Sul database viene inserito il NULL?

puoi farmi vedere l'aspx del tuo datagrid?
>
>
>help me.
>grazie Nicola

Alx81 =)

http://blogs.dotnethell.it/suxstellino

Nicola Profilo | Senior Member

myCommand.Parameters.Add("@Giorno", SqlDbType.Int).Value = XXX

XXX voglio che sia Null
il parametro nella stored è dichairato Int, il campo del DB è Int e accetta valore Null.


semplice.
se converto tutto in Stringa funzia.
Intero no... bhooo

alx_81 Profilo | Guru

ok, questo l'avevo capito

ma ti ho chiesto, la variabile iValore è int?

Alx81 =)

http://blogs.dotnethell.it/suxstellino

Nicola Profilo | Senior Member

si è!

alx_81 Profilo | Guru

il fatto è che la variabile Int non può contenere il valore DBNull.Value.
devi gestire la chiamata.

Basta dire alla stored che il parametro intero, se non indicato è null

ad esempio

CREATE PROCEDURE prova
(id int,
parent_id int = null)
...

In questo modo poi nel code behind basta trappare il verificarsi dell'errore di cast e non indicare il valore di tale parametro.
Alx81 =)

http://blogs.dotnethell.it/suxstellino
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5