Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206

    [vb.net] Controllare se un campo èè diverso da NULL

    Salve a tutti
    Credo di essermi incartato. Non riesco a verificare se un campo di una tabella è privo di valori.
    Ho provato a verificare se il campo è vuto in questo modo:

    If IsDBNULL(objDataReader("numverbale")) Then
    Dim numverbale as Integer = 0
    else
    Dim numverbale as Integer = objDataReader("numverbale")
    end if

    Ho anche provato in questo modo:

    If objDataReader("numverbale") = "" Then
    Dim numverbale as Integer = 0
    else
    Dim numverbale as Integer = objDataReader("numverbale")
    end if

    però di fatto è come se non entrassi nel controllo. Perchè quando provo a visualizzare la variabile mi restituisce un errore del tipo:

    Name 'numverbale' is not declared

    E' evidente che c'è un errore però quale?
    Grazie
    Cordialità Donaz

  2. #2
    Se dichiari le variabili all'interno dei blocchi "if... end if" essi non saranno visibili all'infuori di esso:
    codice:
    Dim numverbale as Integer=0
    If objDataReader("numverbale") <> DBNull.Value Then
    numverbale = Convert.ToInt32(objDataReader("numverbale"))
    end if
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  3. #3
    Utente di HTML.it L'avatar di donaz
    Registrato dal
    Jan 2002
    Messaggi
    206
    Grazie per la tua indicazione.
    L'ho provato però mi ha restituito un errore sull'operatore "<>" suggeremdomi di usare invece "is",
    Infatti ho modificato il codice in questo modo e il risultato è positivo.

    Dim numverbale as Integer=0

    If NOT objDataReader("numverbale") IS DBNull.Value Then
    numverbale = Convert.ToInt32(objDataReader("numverbale"))
    end if

    Grazie ancora
    Cordialità Donaz

  4. #4
    Dovrebbe funzionare anche cosi (nel primo caso tipizza il dato restituito ma accetta come parametro il numero di colonna restituito nella query)...
    codice:
    If Not IsDBNull(dr.GetInt32(0)) Then ...
    If Not IsDBNull(dr("numverbale")) Then ...
    Saluti a tutti
    Riccardo

  5. #5
    L'ho provato però mi ha restituito un errore sull'operatore "<>" suggeremdomi di usare invece "is",
    Infatti ho modificato il codice in questo modo e il risultato è positivo.
    Hai perfettamente ragione. Scusa la svista.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

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 © 2024 vBulletin Solutions, Inc. All rights reserved.