Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    [C#] Controllare se il valore reader è nullo

    Ciao, avrei bisogno di un aiuto.

    Dovrei controllare il valore restituito dal metodo reader:

    1) Quando è nullo, la variabile `top` deve restituire `--`;
    1) Quando NON è nullo, la variabile `top` deve restituire il valore di `reader[0].ToString()`;

    Provo così, ma in tutti i casi restituisce `--` anche quando il valore restituito dal metodo reader NON è nullo.

    Cosa sbaglio?
    Grazie

    codice:
           OdbcDataReader reader = objCmd2.ExecuteReader();
           reader.Read();
    
           string top = "--";
           if (!top.Equals(System.DBNull.Value))
           {
               top = "--";
           }
           else
           {
               top = reader[0].ToString();
           }
    
           reader.Close();
           reader.Dispose();
    
           ...
    
           newItem.Cells.Add(LegendCellType.Text, top, ContentAlignment.MiddleLeft);
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Forse mi sfugge qaulcosa di quello che vuoi fare,
    Ma dichiari top = "--"
    E subito dopo controlli se la variabile top è diversa da DBNULL
    ...sarà sempre diversa da DBNULL, dato che è "--"!

  3. #3
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Guarda meglio il codice. è un errore di distrazione

  4. #4
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Grazie per il tuo interessamento e per la leggittima osservazione.
    Mi spiego meglio.

    Dalla query estraggo il valore di un campo chiamato `VarPerc`.
    Questo campo nella tabella del db è nullo oppure ha un valore numerico intero.

    Vorrei controllare che quando questo valore numerico intero è valorizzato nel db (cioè non è nullo) venga visualizzato, quando invece è nullo la pagina asp net deve stampare `--`.

    Spero sia più chiaro e grazie ancora.
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da rsdpzed
    Guarda meglio il codice. è un errore di distrazione
    Si hai ragione, sono un pollo...
    ma anche così quando è nullo stampa `%` e non `--`...

    codice:
           string top = "";
           if (!top.Equals(System.DBNull.Value))
           {
               top = reader[0].ToString() + "%"; 
           }
           else
           {
               top = "--";
           }
    
           reader.Close();
           reader.Dispose();
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  6. #6
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Ecco la soluzione:
    codice:
           string top = "--";
           if (!reader.IsDBNull(0))
           {
               top = reader[0].ToString()+"%";
           }
    
           reader.Close();
           reader.Dispose();
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

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.