Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    Server.HTMLEncode() e stringhe vuote

    ciao a tutti.
    devo estrarre dei dati da un db access per comporre una tabella, e utilizzo Server.HTMLEncode per codificare correttamente i caratteri accentati ecc...
    In questo db ci sono a volte dei campi vuoti, e su quei campi Server.HTMLEncode mi da errore:
    codice:
    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: 'Server.HTMLEncode'
    /query.asp, line 84
    E' possibile aggirare questo problema?

    Ho anche provato a mettere un if che intercetti i campi vuoti ma non va...

    codice:
    Do while NOT ris.EOF
        response.write "<tr>" & VbCrLf
            if ris("inglese")="" then
                response.write "<td width=220px></td>"
            else
                response.write "<td width=220px>" & Server.HTMLEncode(ris("inglese")) & "</td>" & VbCrLf
            end if
            if ris("italiano")="" then
                response.write "<td width=220px></td>"
            else
                response.write "<td width=220px>" & Server.HTMLEncode(ris("italiano")) & "</td>" & VbCrLf
            end if
            if ris("comune")="" then
                response.write "<td width=220px></td>"
            else
                response.write "<td width=220px>" & Server.HTMLEncode(ris("comune")) & "</td>" & VbCrLf
            end if
        response.write "</tr>" & VbCrLf
    ris.Movenext
    Loop

  2. #2
    If rs("tuocampo") = "" Then
    Response.Write "Nessun dato"
    Else
    Response.Write Server.HTMLEncode(rs("tuocampo"))
    End If

  3. #3
    ehm...cosa cambia dal codice che ho scritto io???
    :master:

  4. #4
    codice:
    if len(trim(Rs("tuocampo") & " "))>0 then
            'campo pieno
    else
           'campo vuoto
    end if
    EDIT:

    oppure:

    codice:
    if trim(rs("tuocampo") & "[]")<>"[]" then
            'campo pieno
    else
           'campo vuoto
    end if

    RIEDIT:

    oppure:

    codice:
    if not isNull(rs("tuocampo")) and rs("tuocampo")<>"" then
            'campo pieno
    else
           'campo vuoto
    end if
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    pardon, non l'ho letto prima

    1. che tipo di dato è il campo?

    2. perchè non hai il filtro all'atto dell'inserimento nel database cosi ti levi il pensiero di farlo in lettura?

  6. #6
    @luke:
    il campo è semplicemente di testo....
    posso filtrare direttamente in lettura dal db?
    uso questo codice:
    codice:
    query="SELECT * FROM COLONNETTE WHERE COLONNETTE.CD='" & cod & "'"
    set ris = objConn.Execute(query)

  7. #7
    si puoi, ma se ti da sti problemi... è per questo che ti consiglio di sostituire i caratteri direttamente in scrittuta con dei replace multipli

    Dim campo, da_inserire
    campo = Request.Form("campo")
    da_inserire = Replace(Replace(campo, "à", "&amp;aacute;"), "è", "&amp;eacute;")

    e cosi via

    nel db inserisci la variabile da_inserire

    mi spiego?

  8. #8
    Si ho capito ma sembrava macchinoso...

    Ho usato isNull che mi ha suggerito Santino, e funziona, anche se non capisco perché con

    codice:
    if ris("italiano")="" then
    non funzionava ("" non è stringa nulla????)
    mentre con

    codice:
    if isNull(ris("italiano")) then
    funziona...
    Grazie a tutti comunque, ciao

  9. #9

  10. #10
    Invece di rompere le scatole al server con tutte quelle richieste, creati una funzione con il comando replace. Caricherai di meno il server e non avrai questo tipo di problemi.

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