Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580

    executeScalar e valore null

    salve a tutti
    dato il seguente codice:
    codice:
      Dim strsql As String
            strsql = "SELECT RCodTipologia FROM RigheCarico where CodRigaCarico=" & CodRigaCarico
            Dim Quantita As Long
            Dim cmd As OleDbCommand = New OleDbCommand(strsql, myconnection)
           
            Quantita = CType(cmd.ExecuteScalar, Integer)
          
            Return Quantita
    se il risultato della query non trova niente mi da errore:"impossibile convertire dbnull to integer"
    come mi conviene fare?
    se implemento una iif sicuro che non mi esegue 2 volte la executescalar?
    grazie!
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Invece di memorizzare il valore restituito da ExecuteScalar in un intero (non lo è, a tutti gli effetti) immagazzinalo in un valore di tipo System.Object.

    In seguito, verifica che il valore non sia nullo (diverso da Nothing) e, in caso affermativo, puoi eseguire il "casting" ad un valore intero trattandolo come tale nel codice o memorizzandolo in una seconda variabile intera.

    Trattandosi di un metodo che può restituire potenzialmente qualsiasi tipo di valore, il metodo ExecuteScalar restituisce quindi un "oggetto"; poi, a seconda dei casi, controllato che vi sia un valore restituito, è possibile "castarlo" al tipo che si vuole per poterlo adoperare a tutti gli effetti.

    Nel nostro caso, il tipo restituito è System.Int32 (quando c'è un valore); memorizzandolo in una variabile intera, sottopone l'oggetto ad un'operazione di "unboxing" che restituisce il value type desiderato, contenente il valore da utilizzare.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.