Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    6
    Ho un problema con una query che dovrebbe gestire un passaggio di dati da una pagina .asp ad un database Access 2000.
    Questa è la query che utilizzo:

    strSql="SELECT * From Documento WHERE (IDAzione=" & rqAzioni & " AND IDSettore=" & rqCategorie & ") OR Keyword LIKE '" & rqKey & "*'"

    Le variabili

    rqAzioni, rqCategorie e rqKey

    ricevono dei valori con il metodo Request all'inizio della pagina e vengono confrontati con i valori dei campi

    IDAzione, IDSettore e Keyword

    della tabella documento.
    Il problema sorge con la condizione OR.
    Praticamente, se la query riceve i primi due valori validi, nella pagina successiva a questa vengono visualizzati dei record prelevati dal database; se al contrario e valida solo la condizione OR, viene generato un errore di questo tipo:

    Error Type:
    ADODB.Recordset (0x800A0BCD)
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    Premetto che la stessa query, provata direttamente sul database, funziona perfettamente.
    Grazie a chi sia in grado di aiutarmi.
    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2000
    Messaggi
    77
    Dovresti mandare anche il pezzo di codice che utilizzi
    per visualizzare i risultati della query, perche'
    l'errore e' li'.
    Giudilla.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    6
    Ciao, questa è la porzione di codice HTML/ASP che utilizzo per visualizzare i risultati della query.


    <table border="1" width="611" cellspacing="0" cellpadding="2">
    <%
    RsTit.MoveFirst
    If RsTit.EOF Then
    Response.Write "nessun record trovato"
    Else
    Do While Not RsTit.EOF
    Response.Write "<tr><td valign='middle' align='left' width='250' bgcolor='#fffff0'>"
    Response.Write RsTit("Titolo")
    Response.Write "</td>"
    Response.Write "<td valign='middle' align='left' width='250' bgcolor='#fffff0'>"
    Response.Write RsTit("Descrizione")
    Response.Write "</td>"
    Response.Write "<td valign='middle' align='right' width='111' bgcolor='#fffff0'>" & RsTit("IDDocumento")
    Response.Write "</td></tr>"
    RsTit.MoveNext
    Loop
    End If
    %>

    </table>

    P.S.(problema aggiuntivo) Ho provato a utilizzare più parole all'interno dell'operatore LIKE, racchiudendole tra due asterischi, ma ritornano solo i record che corrispondono esattamente a quelle parole(compreso l'ordine di sequenza) e non i record dove sono presenti una o tutte le parole indipendentemente dall'ordine.
    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2000
    Messaggi
    77
    Invece del nome della colonna, passagli il progressivo
    che indica la posizione della colonna nel recordset
    ad esempio
    RsTit("Titolo")
    diventa
    RsTit(0)

    Giudilla

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 © 2024 vBulletin Solutions, Inc. All rights reserved.