Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    19

    Either BOF or EOF is True ????

    Questo errore mi esce sporadicamente, ma non riesco a capire dove possa esserci l'inghippo:
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    Lo script è il seguente:

    <%
    Server.ScriptTimeOut = 200 'secondi

    ordine = request.querystring("ordine")

    lettera = request.querystring("lettera")
    if lettera = "" then
    lettera ="A"
    end if


    If ordine = "titolo" then

    strsql = ("select * from vhsm where titolo like '"& lettera &"%' order by titolo")

    'scrivo le lettere per la ricerca alfabetica se l'ordine è per titolo
    %><p align="center"><font size="3">Iniziale: <%
    For i = 1 to 26
    caratt = 64 + i
    %>
    <a href="gfilm.asp?ordine=<%response.write(ordine)%>& lettera=&#<%response.write(caratt)%>">&#<%
    response.write(caratt)
    %></a><%
    next
    %></p><%

    else

    strsql = ("select top 200 * from vhsm order by data_acq desc")

    end if

    %><%

    Do while not objRs.EOF

    'e qui mi scrivo tutti i dati estaratti

    objRs.movenext
    Loop

    objRs.Close
    Set objRs = Nothing
    Conn.close
    set Conn = nothing
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ti dice che il record è vuoto e tu cerchi di fare un loop.
    Testa prima se il recordset restituisce qualcosa.

    if not rs.EOF then
    'fai il loop
    else
    'non lo fai
    end if


    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    19
    Sono certo che il recordset restituisce qualcosa, in ogni caso ho inserito il controllo che mi hai consigliato, ma l'errore permane.

    L'errore me lo da solo se seleziono la query:
    strsql = ("select top 200 * from vhsm order by data_acq desc")
    con l'altra non mi dà mai problemi.
    Eppure su oltre 3000 record nel database (access) data_acq è sempre presente, essendo un campo obbligatorio, quindi i primi 200 record li trova di sicuro.

    Può essere un problema di IIS?

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma il recordset dove lo apri?

    objRs.Open...

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    19
    qui:
    %><%

    che contiene:

    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("mdb-database/dbmal.mdb")

    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = Conn.Execute(strsql)


    Però se non lo aprissi mi andrebbe male anche l'altra query...

  6. #6
    Originariamente inviato da pdani
    qui:
    %><%

    che contiene:

    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("mdb-database/dbmal.mdb")

    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = Conn.Execute(strsql)

    Però se non lo aprissi mi andrebbe male anche l'altra query...
    che c'entra questa riga??
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    19
    Forse mi sono espresso male:
    nello script c'è solo l'include

    quella riga che indichi tu mi serve a fare la query, sennò come la faccio?

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.