ragazzi
ho creato una variabile privata ed ho cercato di asseganare un valore Nullo come default
quando vado a leggere il suo valore mi restituisce 1codice:Private _IO_IPH As Double = vbNull
è normale?
grazie
ragazzi
ho creato una variabile privata ed ho cercato di asseganare un valore Nullo come default
quando vado a leggere il suo valore mi restituisce 1codice:Private _IO_IPH As Double = vbNull
è normale?
grazie
Delfino Cobalto
Non ha senso per un double il valore null ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
A dire la verità ha senso. Se non hai nessuno valore per un double perchè devi impostarlo a 0/1 o un'altro valore. Lo imposti a null e cosi' capisci se ha un valore o meno.
http://msdn.microsoft.com/en-us/libr...8VS.80%29.aspx
I got the remedy
vorrei spiegare il mio problema.
ho una tabella con 5 campi (a,b,c,d,e)
ricevo dei dati da un device esterno in modo random
ad esempio ricevo dati per i campi a,d,e (b e c quindi sono nulli)
altre volte ricevo tutti i 5 campi
altra condizione limite non ricevo nessun dato sensibile (che mi interessa)
avevo immaginato di risolvere il problema impostando come defaul a tutti i 5 campi il valore null (con VBNULL)
se il campo veniva ricevuto il NULL veniva sostiuito con il valore altrimenti rimaneva NULL
i dati li passo alla Query INSERT con dei paramentri @a,@b,@c,@d,@e
il problema è che i valori NULL invece di essere tali vengono popolati con 1.
come posso risolvere la situazione?
scrivere un valore diverso da null potrebbe dare l'impressione che si è ricevuto una valore
grazie
Delfino Cobalto
Ok, ma devi usare Nullable; assegnare un vbNull (vestigia di VB6, tra l'altro) ad un Double "normale" non ha nessun senso.Originariamente inviato da albgen
A dire la verità ha senso. Se non hai nessuno valore per un double perchè devi impostarlo a 0/1 o un'altro valore. Lo imposti a null e cosi' capisci se ha un valore o meno.
Amaro C++, il gusto pieno dell'undefined behavior.
Concordo e ribadisco ... in un valore double il "dominio" dei valori utilizzabili non comprende un "null" ... a meno che non definisci un altro tipo "esteso" (un nullable) e includi il null nel dominio ...Originariamente inviato da MItaly
Ok, ma devi usare Nullable; assegnare un vbNull (vestigia di VB6, tra l'altro) ad un Double "normale" non ha nessun senso.
No MP tecnici (non rispondo nemmeno!), usa il forum.
guarda che ho inserito il link ai nullable...Originariamente inviato da MItaly
Ok, ma devi usare Nullable; assegnare un vbNull (vestigia di VB6, tra l'altro) ad un Double "normale" non ha nessun senso.
I got the remedy
Ho letto bene quello che hai scritto e ho cliccato sul link, e infatti ho confermato la storia dei nullable; il punto è che dalla tua risposta sembrava che fosse lecito assegnare un null ad un double, cosa che invece non è vera.
---EDIT---
Fellone, hai editato.![]()
![]()
Amaro C++, il gusto pieno dell'undefined behavior.
ecco appunto sembrava a te ma non è cosi'.Originariamente inviato da MItaly
Ho letto bene quello che hai scritto e ho cliccato sul link, e infatti ho confermato la storia dei nullable; il punto è che dalla tua risposta sembrava che fosse lecito assegnare un null ad un double, cosa che invece non è vera.
---EDIT---
Fellone, hai editato.![]()
![]()
![]()
I got the remedy
ah..allora,Originariamente inviato da delfino_cobalto
vorrei spiegare il mio problema.
ho una tabella con 5 campi (a,b,c,d,e)
ricevo dei dati da un device esterno in modo random
ad esempio ricevo dati per i campi a,d,e (b e c quindi sono nulli)
altre volte ricevo tutti i 5 campi
altra condizione limite non ricevo nessun dato sensibile (che mi interessa)
avevo immaginato di risolvere il problema impostando come defaul a tutti i 5 campi il valore null (con VBNULL)
se il campo veniva ricevuto il NULL veniva sostiuito con il valore altrimenti rimaneva NULL
i dati li passo alla Query INSERT con dei paramentri @a,@b,@c,@d,@e
il problema è che i valori NULL invece di essere tali vengono popolati con 1.
come posso risolvere la situazione?
scrivere un valore diverso da null potrebbe dare l'impressione che si è ricevuto una valore
grazie
se hai un dataset tipizzato devi utilizzare il metodo SetNOMECOLONNANull() del datarow.
Se non è tipizzato devi semplicemente assegnare il DBNull.Value
I got the remedy