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

    Errore "Eccezione" su confronto (L'errore dell'anno!)

    Ho del codice (molto brutto) per stampare un Menu con i SottoMenu che mi sta dando dei problemi assurdi.
    Funzionerebbe tutto ma mi dà errore sulla riga 62 (e che ve frega? ) quando, al Loop While faccio il confronto tra Rs2("IdCmMenu") e PrevMenu.

    Mi dice "Eccezione" e non restituisce nessun altro messaggio di errore. Non specifica niente.
    Se lo stesso confronto lo faccio in un IF funziona tutto.
    Ho già provato a stampare i valori e sono sempre uguali o diversi, ma sempre numerici, e mai NULL.

    Se scommento l' "On Error Resume Next" funziona tutto correttamente. Se la commento mi ridà errore. :master:

    Codice PHP:
    IF not(Rs2.Bof and Rs2.EofThen
        
    %><ul><%
        Do While 
    not Rs2.Eof
            
    %>
                [*][
    url="pagina.asp?idl=<%= Linguascelta %>&amp;idm=<%= Rs2("]&amp;ids=0&amp;cod=<%'= Trim(ContaMenu) %>&amp;cod2=0&amp;cod3=0" title="<%= "link: " & caratteriW3c(Rs2("Menu")) %>"><%= caratteriW3c(Rs2("Menu")) %>[/url]
                <%

                PrevMenu = Rs2("IdCmMenu")
                '
    Controllo se il record descrive un sottomenu
                
    If Not IsNull(Rs2("IdCmSottoMenu")) Then
                    
    %><ul><%
                    
    'Stampo tutti i sottomenu del menu attuale
                    ' 
    finchè non c'è una variazione del menu (o non è finito il record)
                    Do
                        '
    Se non e' NULL stampo il sottomenu
                        If Not IsNull(Rs2("IdCmSottomenu")) Then 
                        %>
                            [*]
                                [url="pagina.asp"]<%= Rs2("Sottomenu") %>[/url]
                            
                        <%
                        Else
                        '
    Altrimenti abbiamo un nuovo menu e dobbiamo uscire dal ciclo
                            Rs2
    .MovePrevious
                            
    Exit Do
                        
    End If
                        
    'Response.Write "Sottomenu: " & Rs2("IdCmSottomenu") & "-" & Rs2("Sottmenu")
                        PrevMenu = Rs2("IdCmMenu")
                        If Not Rs2.Eof Then
                            Rs2.Movenext
                        End If
                        '
    Response.Write Rs2("IdCmMenu") & "-=-" PrevMenu
                        
    'On Error Resume Next
                    Loop While Rs2("IdCmMenu") = PrevMenu
                        
                    If Err.number <> 0 Then
                    Response.Write ""
                    '    
    Response.Write "[/list]

    &Rs2("IdCmMenu") & "-=-" PrevMenu
                    
    '    Response.End
                    End If
    '                
    Response.Write "
    Menu: " 
    Rs2("IdCmMenu") & "-" Rs2("menu")
                    %>[/list]<%
                
    End If
                %>
                
            <%
            If 
    Not Rs2.Eof Then
                Rs2
    .MoveNext
                PrevMenu 
    Rs2("IdCmMenu")
            
    End If
        
    Loop
        
    %>[/list]<%
    End IF
    Rs2.close 
    Le ho provate tutte ma non riesco a capire cosa sia.

    Non ha senso!!

    Voi avete idea di che cosa possa essere?

    Grazie mille... sono impelagato

  2. #2
    presentaci (con il dovuto rrrrrrispetto!) la riga 62

  3. #3
    non colorare ASP come PHP... è inquietante...

    giustamente ce serve sapere qual'è la riga 62

    in terza sede...
    io ho fatto questo
    http://www.splik.org/wbtree/tree.asp

    non so se possa interessare
    san imente saluta

    * http://simonecingano.it *

  4. #4
    La riga 62 (come avevo già detto ) è quella del
    "Loop While Rs2("IdCmMenu") = PrevMenu"

    Ho provato a cambiare il confronto e quello che da problemi sembra essere Rs2("IdCmMenu").
    Questo non è mai NULL ed è sempre un numero.... e il bello è che si associa appunto il suo valore a 'PrevMenu' poche righe prima..... quindi non è plausibile un errore di casting.

    Io non ci cavo fuori le gambe..... voi?


    Per la formattazione in PHP, la preferisco giusto perchè almeno è un pochino più leggibile.... meglio che righe e righe di codice in nero...
    Se HTML.It mettesse la formattazione in ASP userei quella :rollo:


    Per il menù suggeritomi purtroppo non mi è utile. Sto già usando un menu CSS a tendina.
    L'importante per me è stampare il codice HTML nel modo giusto.... non tanto la 'grafica' (che ho già comunque ).

  5. #5
    so che non è elegante, ma prova a sostituire il

    codice:
    DO
       ...
    Loop While Rs2("IdCmMenu") = PrevMenu
    con

    codice:
    DO
       ...
       IF Rs2("IdCmMenu") <> PrevMenu THEN EXIT DO
    LOOP

  6. #6
    Sì effettivamente avevo provato anche con quello. In un normale IF funziona tutto.

    Era più ostinazione contro l'irrazionale comportamento più che impossibilita ad aggirare il problema

    Comunque ho rifatto tutta la pagina da capo. Ho preferito fare più query a favore della semplicità del codice.

    Adesso funziona tutto ed ho una gestione dei menu spettacolare

    Grazie mille.... a volte è meglio lasciar perdere e reiniziare da capo.... si spreca meno tempo

  7. #7
    tanto per curiosità.... se metti cosi' che succede?

    DO While Rs2("IdCmMenu") <> PrevMenu
    ...
    Loop

  8. #8
    Era come avevo messo inizialmente.... e non funzionava

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.