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

    ado problemi con recordset e EOF (credo)

    Ciao sto cercando di eseguire una banalissima query come questa:

    <%
    ...
    strSQL = "SELECT * FROM righepreventivi WHERE IDPrev = '18' AND Opzione = 1"

    rs.open strSQL, strConn

    do while not rs.eof
    Response.Write( rs( "Descrizione" ) )
    rs.movenext()
    loop

    ...
    %>


    Immancabilmente quando eseguo la pagina ottengo questo errore:

    Tipo di errore:
    ADODB.Field (0x80020009)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.


    La cosa curiosa è che poco prima nella pagina eseguo la stessa query con un altro oggetto recordset e con "Opzione = 0" tutto funziona perfettamente.

    Ho già verificato che:

    1. rs.bof = false e rs.eof = false ( c'è esattamente 1 record)
    2. rs.recordcount = 1
    3. se tolgo il loop e lascio solo Response.Write( rs( "Descrizione" ) ) funziona.

    Qualcuno sa dirmi perchè? Grazie faro

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    strSQL = "SELECT * FROM righepreventivi WHERE IDPrev = '18' AND Opzione = 1" 
    
    rs.open strSQL, strConn 
    if not rs.EOF then 
    do while not rs.eof 
    Response.Write( rs( "Descrizione" ) ) 
    rs.movenext() 
    loop 
    end if 
    ... 
    %>
    Se il campo IDPrev è numerico/contatore non ci vanno gli apici.

    Roby

  3. #3
    Innanzitutto molte grazie per la risposta tempestiva.

    Ho inserito l'if a protezione del loop ma ottengo il solito errore.
    Poi ho provato a togliere gli apici dalla query (lasciando anche l'if "protettore") ma niente da fare...

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma l'errore a che riga appare?
    Ed il campo "opzione" che tipo di campo è?

    Roby

  5. #5
    Ciao Roby
    ti ringrazio ancora e scusa se ti ho fatto perdere tempo; ho trovato l'errore e, come sempre, era una di quelle cagate che mi mangerei le dita!!!!
    Avevo dimenticato un rs( "Descrizione" ) per sbaglio più avanti nell'html!!!! che quindi tentava di accedere al recordset già portato fino a EOF.
    Scusa e grazie

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.