Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Function]Evitare che non vada in errore

    Ciao a tutti,ho scritto questa funzione semplice per fare delle prove

    function echo(Testo)
    if Testo <> "" then
    echo = response.write(Testo)
    end if
    end function

    il problema sorge sulla variabile Testo, nel caso questa non esista e quindi la pagina asp và in errore.(ad esempio se da una query non estraggo dati!)

    Coma faccio a fare in modo che la funzione non vada in errore se la variabile testo non esiste?

  2. #2
    Controlla che la variabile testo non sia nulla e in tal caso non chiamare la funzione!

  3. #3
    vorrei che la verifica fosse interna alla funzione, altrimenti in questo caso sarebbe inutile una funzione di quel genere.

  4. #4
    perchè dici che ti va in errore?

    con la condizione
    if Testo <> ""
    la funzione funzia anche se testo = ""

  5. #5
    prima faccio un'estrazione dal db, ma se non trova dati mi và in errore

    esempio

    sql=select id from tb where utente=pippo

    echo rs("id")

    Tipo di errore:
    (0x80020009)
    Eccezione.

  6. #6
    beh, in tal caso sei costretto a mettere un controllo prima della chiamata della funzione, e dato che la funzione è così 'piccola' e (mi sembra) non lavora lato client ma solo lato server, ti conviene mettere tutto in codice asp evitando la funzione:

    If Not rs.EOF Then
    Testo = rs("testo")
    If Testo <> "" Then
    Response.Write("Testo")
    End If
    End If

  7. #7
    a volte vorrei avere bill gates tra le mani!!

    Set rs06 = Server.CreateObject("ADODB.recordset")
    Sql_06 = "SELECT COUNT(Email) AS NEmail FROM tb_utenti WHERE (Email = '" & Trim(Email & "cf") & "') GROUP BY Email"
    rs06 = Conn.Execute (Sql_06)
    If Not rs06.EOF Then
    NEmail = rs06("NEmail")
    end if
    set rs06 = nothing
    response.Write(Nemail & "<--
    ")

    mi risponde

    Tipo di errore:
    ADODB.Field (0x800A0BCD)
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    Non era più facile, se non trovo dati, la variabile del recordset è = a niente?

  8. #8
    proca così:

    Set rs06 = Server.CreateObject("ADODB.recordset")
    Sql_06 = "SELECT COUNT(Email) AS NEmail FROM tb_utenti WHERE (Email = '" & Trim(Email & "cf") & "') GROUP BY Email"
    rs06 = Conn.Execute (Sql_06)

    dati = 0

    Do While Not rs06.EOF
    dati = dati + 1
    Loop

    rs06.Close
    set rs06 = nothing

    rs06 = Conn.Execute (Sql_06)

    If dati = 0 Then
    Else
    Do While Not rs06.EOF
    response.Write(rs06("NEmail") & "<--
    ")
    rs06.MoveNext
    Loop
    End If

    rs06.Close
    set rs06 = nothing

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.