Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Type mismatch: 'CInt'

  1. #1

    Type mismatch: 'CInt'

    Type mismatch: 'CInt'
    ciao a tutti.ho fatto una pagina di ricerca che prende i record di un db che contengono una parola scelta dall'utente.
    voglio visualizzare 10 record per pagina,e i restanti metterli automaticamente in una seconda,terza o quarta pagina che sia (quante se ne vuole).tutto ASP fatto da me.
    il codice inizialmente funziona,i record vengono presi e visualizzati solo 10.quando clicco su "succesiva",però,la pagina seguente vedo che viene presa giusta (cioè la stringa che vedo nella barra degli indirizzi di IE è giusta),ma la pagina mi da questo errore:


    Microsoft VBScript runtime error '800a000d'

    Type mismatch: 'CInt'

    /ricerca.asp, line 55

    vi posto il codice:

    codice:
    <table border="0" cellpadding="5" style="border-collapse: collapse" width="96%" id="table20">
    <tr>
    <td style="border-bottom: 1px dotted #CC0000">
    <font size="4" color="#CC0000">Risultati della ricerca</font>
    
    
    
    <%
    ricerca = Request.Form("ricerca")
    if ricerca = "" then
    ricerca = ("Centro Popolare Europeo")
    end if 
    
    Page_Size = 10
    
    If Request("Page") = "" Then
    Current_Page = 1
    Else
    Current_Page = CInt(Request("Page"))
    End If
    
    Set rs=Server.CreateObject("ADODB.RecordSet")
    rs.PageSize = Page_Size 
    %> 
    Articoli trovati contenenti la parola <font color="C00000"><%=ricerca%></font>
    
    
    <% 
    sql = "select * from articoli WHERE Titolo like '%" & ricerca & "%' OR Testo like '%" & ricerca & "%' order by data desc"
    rs.Open sql, conn, 1, 3
    
    Page_Count = rs.PageCount
    
    If 1 > Current_Page Then Current_Page = 1
    If Current_Page > Page_Count Then Current_Page = Page_Count
    
    'rs.AbsolutePage = Current_Page
    %>
    <table border="0" cellpadding="2" style="border-collapse: collapse" width="100%" id="table30">
    <%
    if not rs.eof then
    i = 0
    Do While rs.AbsolutePage = Current_Page And Not rs.EOF 
    
    intConta = 1
    
    if i MOD 2 = 0 then
    colour = ("#EEEEEE")
    else
    colour = ("#FFFFFF")
    end if
    
    id = rs("ID")
    data = rs("Data")
    titolo = rs("Titolo")
    %>
    
    <tr>
    <td bgcolor="<%=colour%>" style="border-bottom: 1px solid #E4E4E4" width="69" valign="top" align="left">
    <font color="#999999">
    <%
    Response.Write ("(")
    Response.Write data
    Response.Write (")")
    %>
    </font>
    </td> 
    <td bgcolor="<%=colour%>" style="border-bottom: 1px solid #E4E4E4" valign="top" align="left">
    
    <a href="pag-articolo.asp?numero=<%=id%>">
    <font color="#CC0000"> 
    <%
    Response.Write titolo
    %>
    </font>
    </a>
    
    </td>
    </tr>
    <% 
    'rs.movenext()
    i = i + 1
    intConta = intConta + 1
    'wend
    
    rs.movenext
    loop
    
    else
    Response.Write ("Nessun articolo trovato con la parola da Lei richiesta")
    end if
    %>
    </table>
    </td>
    </tr> 
    </table> 
    <table>
    <tr>
    <td>
    <%
    Response.Write "<center>"
    Response.Write "<td colspan=""10"" align=""center"">
    
    "
    If Current_Page = 1 Then
    Response.Write "<font color='#000000'>Inizio | "
    End If 
    If Current_Page >= 2 Then
    Response.Write "<< Inizio | " & vbCrLf
    End If 
    If Current_Page >= Page_Count Then
    Response.Write "<font color='#000000'>Successiva > | "
    End If 
    If Current_Page < Page_Count Then
    Response.Write "Successiva >" & " |" & vbCrLf
    End IF 
    If Current_Page <> 1 Then
    Response.Write "< Precedente   | " & vbCrLf
    Response.Write " " & vbCrLf
    End If 
    If Current_Page = 1 Then
    Response.Write "<font color='#000000'>< Precedente | "
    End If 
    If Current_Page <> Page_Count Then
    Response.Write "Ultima >>" & vbCrLf
    End If 
    If Current_Page >= Page_Count Then
    Response.Write "Ultima"
    End If 
    %>
    </td>
    </tr>
    </table>
    dove la linea incriminata è:

    Current_Page = CInt(Request("Page"))

    qualche idea?se volete provare andate pure all'indirizzo www.dariosqueri.it/index2.asp e fate una ricerca (si trova in alto a sinistra la funzione di ricerca), ad esempio scrivete "il" così siete sicuri che i record trovati saranno più di 10.
    grazie,ciao

  2. #2

  3. #3
    e come faccio?ho già messo

    codice:
    "<a href=""ricerca.asp?Page="& Current_Page +1&" ricerca="&ricerca&" "">"
    cosa devo aggiungere per separarli?

  4. #4
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    "<a href=""ricerca.asp?Page="& Current_Page +1&"& ricerca="&ricerca&" "">"


  5. #5
    ok,adesso la stringa gliela passa giusta,ma il mio problema rimane:la seconda pagina fa vedere i risultati della ricerca non della parola desiderata,ma di quella di default.
    perchè?io gliela passo la variabile "ricerca"!


  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Perché il tuo script si aspetta che la variabile "ricerca" arrivi da un form:

    codice:
    ricerca = Request.Form("ricerca")
    Trasformalo in:
    codice:
    ricerca = Request("ricerca")

    Roby

  7. #7
    roby,tu si che hai il dono della sintesi.comunque,noto che la mia pagina ha un po' troppi problemi.adesso la variabile passa,vedo che la seconda pagina ha sempre come variabile di ricerca la stessa della prima ma non mi stampa più tutti i record che rimangono (sono sicuro che ne rimangono altri).

    fate una prova a questo link

    http://www.dariosqueri.it/ricerca.asp?Page=1&ricerca=il

    e provate ad andare avanti...non ci sarà niente nella seconda pagina.
    ma perchè,se la prima funzica benissimo?!

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Stampa la query prima di eseguirla.
    E lasciala visualizzata in modo da capire il motiv
    o di tale anomalia...

    Roby

  9. #9
    tutto ciò è molto strano.la query è giusta!
    guardate qui:

    codice:
    select * from articoli WHERE Titolo like '%a%' OR Testo like '%a%' order by data desc
    proprio non capisco...forse c'è qualche problema con le percentuali.
    è proprio un errore di concetto o anche voi fareste così?

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sembrerebbe giusta...
    Ma questa

    Do While rs.AbsolutePage = Current_Page And Not rs.EOF

    è corretta???

    Roby

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.