Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Do until... Eccezione!

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579

    Do until... Eccezione!

    Ho creato un ciclo con un "do until id=5"

    Il problema è che in alcuni casi non si verifica la condizione id=5 e mi dà l'errore "eccezione"...

    Come si aggira l'ostacolo?? Non mi ricordo più...
    Grazie

  2. #2
    Potresti postare l'errore completo?
    Attenzione che il ciclo non resti infinito.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579
    il codice è lungo... Cmq semplificato viene così:

    codice:
    dim rsprenum, sqlprenum, pres
    pres=0
    id=5
    set rsprenum=Server.CreateObject("ADODB.Recordset")
    sqlprenum="SELECT EVENT_ID FROM FORUM_EVENTS ORDER BY DATA"
    rsprenum.Open sqlprenum,cn, 1, 3
    
    Do until rsprenum("EVENT_ID")=id
    pres=pres+1
    rsprenum.movenext
    loop 
    rsprenum.close
    set rsprenum=nothing
    Senza spiegarti tutto il significato del codice, se trova l'id "conta" la posizione ordinata per data del record, altrimenti va in "eccezione"... Vorrei trovare un modo per "saltare" l'errore... Del tipo un "else"...

  4. #4
    Prova così:

    codice:
    <%
    dim rsprenum1, rsprenum2, sqlprenum1, sqlprenum2, pres
    
    pres = 0
    id = 5
    
    set rsprenum1 = Server.CreateObject("ADODB.Recordset")
    sqlprenum1 = "SELECT EVENT_ID FROM FORUM_EVENTS WHERE tuo_id = " & id
    rsprenum1.Open sqlprenum1,objConn,1,3
    
    if not rsprenum1.eof then
    	set rsprenum2 = Server.CreateObject("ADODB.Recordset")
    	sqlprenum2 = "SELECT EVENT_ID FROM FORUM_EVENTS ORDER BY DATA"
    	rsprenum2.Open sqlprenum2,objConn,1,3
    	
    	do until rsprenum2("EVENT_ID") = id 
    		pres = cdbl(pres) + 1
    		rsprenum2.movenext
    	loop 
    	response.write(pres)
    	rsprenum2.close
    	set rsprenum2 = nothing
    else
    	response.Write("Non ci sono corrispondenze da il valore dell'id e i dati presenti in tabella")
    	rsprenum1.close
    	set rsprenum1 = nothing
    end if
    %>
    In ogni caso, il valore di "id" ti conviene determinartelo dinamicamente.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.