mysql vedere Come verificare un risultato SQL vuoto in ASP




vedere tabelle database mysql (3)

Perché non modificare l'SQL per estrarre solo un risultato con un Nome, in questo modo si applica "N / A":

sResult = getOtherElse("SELECT fullname FROM table WHERE id=" & inArr(j), "fullname AND fullname<>''")

Sto eseguendo una query da ASP usando un database MySQL, voglio creare una variabile (ssResult) in base al risultato con il nome di una persona (nome completo), se il record non esiste Voglio assegnare il testo 'N / A' alla variabile, codice sottostante, attualmente utilizzo una funzione getOther per le mie connessioni al database che passa il nome della colonna "fullname":

ssResult = getOtherElse("SELECT fullname FROM table WHERE id=" & inArr(j), "fullname")

Di seguito è riportato il codice per la funzione getOtherElse che funziona solo quando viene restituito un risultato ma non quando c'è un risultato vuoto:

Function getOtherElse(inSQL, getColumn)
    Dim conn, rstemp
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open myDSN
    Set Session("lp_conn") = conn
    Set rstemp = Server.CreateObject("ADODB.Recordset")
    rstemp.Open inSQL, conn 
    if not rstemp.eof then
        rstemp.movefirst
        getOtherElse=rstemp.fields(getColumn)
    else
        getOtherElse="N/A"
    end if
    rstemp.close
    set rstemp=nothing
    conn.close
    set conn=nothing
End Function

Grazie!


Sostituisci questo blocco di codice:

if not rstemp.eof then
    rstemp.movefirst
    getOtherElse=rstemp.fields(getColumn)
else
    getOtherElse="N/A"
end if

con questo blocco di codice:

Dim output
output = "N/A"

If Not rstemp.eof Then
    rstemp.movefirst
    value = rstemp.fields(getColumn)

    If trim(value) = "" Then
        value = "N/A"
    End If
End If

getOtherElse = value

Il codice sopra riportato presuppone sempre che non venga restituito nulla, fino a quando la connessione non lo imposta effettivamente come restituito. E poi il valore viene controllato per una stringa vuota e imposta il valore anche come "N / A"


Potresti provare a cambiare linea

if not rstemp.eof then

con

if rstemp.RecordCount > 0 then




ado