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

    visualizzare valore campo

    Ciao a tutti, non sono un grande esperto di ASP, quindi la mia domanda potrebbe essere banale!
    Devo inserire un semplice motore di ricerca in un sito ma ho un piccolo problema.

    ho un database con quattro campi:
    - id (contatore)
    - percorso (testo) che contiene l'indirizzo della pagina
    - nome (testo) che contiene il nome della pagina
    - descrizione (memo) che contiene una breve descrizione del contenuto della pagina

    dopo aver compilato il form con il termine da cercare la pagina asp che effettua la ricerca è la seguente:

    codice:
    
    <%
    Dim prechiave
    Dim tipo
    prechiave=request.querystring("form_chiave") 
    tipo=request.querystring("tipo")
    if tipo="tutte" then 
    change="%'and descrizione like'%" 
    chiave=Replace(prechiave," ", change)
    else 
    chiave=prechiave 
    end if 
    Dim iPageSize       'Numero di record da visualizzare
    Dim iPageCount      'Numero di pagine totali che otteniamo dalla query
    Dim iPageCurrent    'Pagina corrente
    Dim strOrderBy      'Parametro in base a cui definire l'ordinamento
    Dim strSQL          'Comando da eseguire
    Dim RS     'Il solito amico Recordset
    Dim iRecordsShown   'Variabile usata per definire i record mostrati
    Dim miastringa 'Variabile utilizzata per la visualizzazione dei risultati
    Dim nuovastringa 'Variabile utilizzata per la visualizzazione dei risultati
    iPageSize = 5 ' Imposto il numero di record visualizzati
    If Request.QueryString("page") = "" Then 
    
                    iPageCurrent = 1 
    
    Else 
    
                    iPageCurrent = CInt(Request.QueryString("page")) 
    
    End If 
    
    If Request.QueryString("order") = "" Then 
    
                    strOrderBy = "id" 
    
    Else 
    
                    strOrderBy = Request.QueryString("order") 
    
    End If 
    
    Dim Conn 
    
    Set Conn = Server.CreateObject("ADODB.Connection") 
    
    conn.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=percorso_database"
    
    Set rs = Server.CreateObject("ADODB.Recordset") 
    
    sql = "SELECT * FROM motore where descrizione like '%"&chiave&"%' ORDER BY " & strOrderBy & " DESC;" 
    
    
    
    RS.Open sql, conn, adOpenKeyset 
    
    RS.PageSize = iPageSize 
    
    RS.CacheSize = iPageSize 
    
    iPageCount = RS.PageCount 
    Dim totale
    totale = rs.recordcount
    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount 
    
    If iPageCurrent < 1 Then iPageCurrent = 1 
    If iPageCount = 0 Then 
    
                    response.redirect("search_again.htm") 
    
    Else 
    
                    RS.AbsolutePage = iPageCurrent 
    %>
    
    
    <html lang="it">
    <head>
    <title>Risultati della ricerca: <% = chiave %>.</title>
    </head>
    <body>
    <H4 title="Risultati della ricerca">Risultati della ricerca: <% = chiave %></H4>
     La ricerca ha prodotto  <% = totale %> risultati</font></p>
    
    <% 
    iRecordsShown = 0 
    Do While iRecordsShown < iPageSize And Not RS.EOF 
    %>
    
    
    
    "><%= rs("nome")%>
    
    <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
    
    <% 
    miastringa = RS("descrizione")
    nuovastringa = Mid( miastringa, 1, 100)
    response.write(nuovastringa)&"..."
    %>
    
    <% 
    iRecordsShown = iRecordsShown + 1 
    RS.MoveNext 
    Loop 
    End If 
    RS.Close 
    Set RS = Nothing 
    Conn.Close 
    Set Conn= Nothing 
    %>
    
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pagina <%= iPageCurrent%> di <%= iPageCount%></font>
    
    <% 
    If iPageCurrent <> 1 Then 
    %> 
    
    indietro 
    
    <% end if %> 
    
    <%If iPageCurrent < iPageCount Then %> 
    
    avanti &gt; 
    
    <% end if %>
    
    </body>
    </html>
    il problema è che il campo "nome" del database l'ho aggiunto io, e non riesco a visualizzarne il contenuto con questa riga di codice.

    Come risolvo!
    Grazie a tutti i suggerimenti!!!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sei sicuro?
    Ad occhio il codice è corretto.
    Verifica di aver dato il giusto nome al campo nome?
    Se non ti da errore probabile sia vuoto.

    Roby

  3. #3
    sono sicuro, la pagina di errore mi dice

    codice:
    tipo di errore:
    ADODB.Recordset (0x800A0CC1)
    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.
    e mi segnala l'errore alla riga

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    O il campo nome o il campo percorso non esistono nella tabella "motore".

    Roby

  5. #5
    perdono, il campo non esisteva!!
    Grazie per l'assistenza!

  6. #6

  7. #7
    altro problema, sicuramente anche questo sarà una baggianata!
    ho impostato il numero di record da visualizzare a 5, quando sono di più viene creata la scritta avanti con il relativo link!

    codice:
    <%If iPageCurrent < iPageCount Then %> 
    
    avanti &gt; 
    
    <% end if %>
    ma quando clicco su tale link cosa dovrebbe succedere?
    attualmente mi compare l'errore: pagina non trovata.
    HTTP 404 - file non trovato

    Aiuto!

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Come cosa dovrebbe succedere... ???
    <a href="risultati.asp?page

    Hai cambiato il nome della pagina con la tua??

    Roby

  9. #9
    ah ah....volevo vedere se eri attento!!!
    SCAPPO!!!

    Ciao e grazie ancora!

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.