NULL REFERENCEEEEEEEEEE

venerdì 08 febbraio 2008 - 10.56

toniovigi Profilo | Expert


Ciao ragazzi ho un problem con la gridview:

HO l'evento rowUpdated, ogni qual volta che io aggiorno un record, il nuovo valore m viene inserito in una label, ma il punto e che non capisco perchè quando vado ad aggioranre una riga dove la cella della gridview e vuota mi genera l'errore che potete vedere in foto.

Cosa posso fare??
Grazie(xo rispondete!!!!)
!!!!!!!!

PEPE Profilo | Senior Member

Ciao,
prova a fare cosi', azzardo una risposta.

if e.newvalues[1] != dbnull.value label2.text=e.newvalues[1].tostring.

Controlla la sintassi, uso vb.net e c# me lo sto scordando :(:(:(:(.

Pongo Profilo | Senior Member

>
>Ciao ragazzi ho un problem con la gridview:
>
>HO l'evento rowUpdated, ogni qual volta che io aggiorno un record,
>il nuovo valore m viene inserito in una label, ma il punto e
>che non capisco perchè quando vado ad aggioranre una riga dove
>[b]la cella della gridview e vuota[/b] mi genera l'errore che potete
>vedere in foto.


MI sa che è proprio questo il problema. stai facend un null.tostring(). Controlla che nella riga ci sia un valore!


>Cosa posso fare??
>Grazie(xo rispondete!!!!)
>!!!!!!!!

Ciao.

toniovigi Profilo | Expert

si e verò , l'errore me lo da quando nn cè nessun valore, ma io voglio allora che la stringa sia vuota,cioe m deve dare null nn so se mi sono spiegato

PEPE Profilo | Senior Member

Ciao,
i valori null sono proprietari dei database. Se in una cella di un database non hai valori, tipicamente il database inserisce il famoso "null". Tale valore pero' deve essere intercettato perche non puo essere convertito in una stringa in quanto rappresenta "l'insieme vuoto".
Quello che puoi fare è, o convertire rtutti i null del database con uno spazio bianco, ma ricordati che è pur sempre un valoreche hai inserito anche se non lo vedi, oppure trattare e gestire i null.

Il codice che ti ho scritto nell'intervento precedente controlla, prima di associare un valore, se la cella in questione contenga un valore nullo e viene tipicamente usata per esigenze di questo tipo.

toniovigi Profilo | Expert

sisi l'avevo capito che controlla se la stringa e null, ma l'errore continua, Riferimento a un oggetto non impostato su un istanza di oggetto

PEPE Profilo | Senior Member

Prova ad andare in debug.
Con il watch controlla che quella cella esista davvero.

A volte mi è capitato che i reference delle celle cambiavano a seconda dell'operazione che facevo.

Pongo Profilo | Senior Member

Non ho capito bene: ma continua darti l'errore anche se la cella è popolata??

Se invece la cella è nulla, non potrà mai essere alla destra di un'assegnazione quel "valore", piochè non c'è oggetto, ma solo "indirizzo".

Devi prima metterlo alla sinistra, associare un valore a quella zona di memoria e poi accederci.

Spero che si capisca!!

squilibrium Profilo | Junior Member

Io normalmente utilizzo funzioni come questa:

public string IIFString(object Value)
{
try
{
return Convert.ToString(Value);
}
catch(Exception ex)
{
return String.Empty;
}
}

e quando la utilizzo per valorizzare una label o una textbox la richiamo così:

label1.Text = IIFString(e.NewValues[1]);

Spero possa esserti utile

Ciao

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