Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [VB.NET 2008] vbnull

  1. #1

    [VB.NET 2008] vbnull

    ragazzi
    ho creato una variabile privata ed ho cercato di asseganare un valore Nullo come default
    codice:
     Private _IO_IPH As Double = vbNull
    quando vado a leggere il suo valore mi restituisce 1

    è normale?
    grazie
    Delfino Cobalto

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ha senso per un double il valore null ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    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

  4. #4
    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

  5. #5
    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.
    Ok, ma devi usare Nullable; assegnare un vbNull (vestigia di VB6, tra l'altro) ad un Double "normale" non ha nessun senso.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    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.
    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 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    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.
    guarda che ho inserito il link ai nullable...
    I got the remedy

  8. #8
    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.

  9. #9
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    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.
    ecco appunto sembrava a te ma non è cosi'.
    I got the remedy

  10. #10
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    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
    ah..allora,
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.