Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1

    Controllo fine recordset

    Ciao ragazzi,

    ho un problemino, ho uno script asp su cui non riesco a controllare se ho raggiunto la fine del recordset.

    Mi restituisce sempre "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."

    Ho provato in svariati modi, con If not, con Do while not, sempre lo stesso errore mi da quando trova un recordset vuoto invece di stamparmi il response.write.

    Vi posto il codice:

    codice:
    <%
    contatore = 0
    Set rsDettaglio = Server.CreateObject("ADODB.RecordSet")
    sql = "SELECT * FROM qryCavalli WHERE IdCavalli=" & Request.QueryString("Id") & ""
    rsDettaglio.Open sql, conn, 3, 3
    %>
    
    ......
    
    
    <%If rsDettaglio.EOF <> "" Then%>
      <%
    			  'Creo un loop per prendere i dati fino alla fine
    			  Do Until RsDettaglio.EOF
    			  %>
    
                  
        <%
    			  Dim strId, strDettaglio
    			strId = RsDettaglio("Id")
    			strDettaglio = "DettaglioCavallo.asp?Id="
    			  'Creo le variabili e la condizione per stabilire se l'immagine è orizzontale o verticale			 
    			  Dim strPercorso, strValore, strImg
    			  strPercorso = "files/"
    			  strImg = RsDettaglio("img")
    			  strValore = strPercorso & strImg
    			  %>
                  <%
    			  Dim strX, strY, strFormato
    			  strFormato = RsDettaglio("Formato")
    			  If strFormato = 1 Then
    			  strX = 150
    			  strY = 113
    			  Else
    			  strX = 113
    			  strY = 150
    			  End If
    			  
    		If contatore = 3 Then
                contatore = 0
                Response.Write "</tr><tr>"
            End If
    			  %>
                    <td width="50%">[img]<%=strValore%>[/img]" height="<%=strY%>" alt="" />
    
                    <a href = "<%=strDettaglio & strId%>" class="Testo">Ingrandisci</a></td>
      
      
       <%
    			  'Mi muovo attraverso i records e chiudo il ciclo
    				RsDettaglio.MoveNext
    				contatore = contatore + 1
    				Loop
    				     %>           
    
    <%
    
    				Else
    				Response.Write("<p align = 'center' class = 'Testo'>" & "Non sono disponibili informazioni" & "</br></br>" & "<a href = 'javascript:history.back;'>" & "Torna indietro" & "</a>" & "</p>")
    
    			End If
    				%>
    Grazie mille
    .::LTADM::.

  2. #2
    .eof non è una stringa! ma una valore booleano (True/False). quindi questa istruzione

    If rsDettaglio.EOF <> "" Then

    va sostituita con

    IF NOT rsDettagio.EOF Then

  3. #3
    Originariamente inviato da optime
    .eof non è una stringa! ma una valore booleano (True/False). quindi questa istruzione

    If rsDettaglio.EOF <> "" Then

    va sostituita con

    IF NOT rsDettagio.EOF Then
    Ciao Optime e grazie,

    il "<> """ mi era rimasto da una prova precedente ma comunque non mi funge lo stesso

    .::LTADM::.

  4. #4
    prova ad invertire il giro

    codice:
    IF rs.eof then
       ' non c'è niente
    else
       'c'è qualcosa
       do
          ...
       loop
    end if
    ho semplificato di molto!

  5. #5
    Originariamente inviato da optime
    prova ad invertire il giro

    codice:
    IF rs.eof then
       ' non c'è niente
    else
       'c'è qualcosa
       do
          ...
       loop
    end if
    ho semplificato di molto!
    Niente, stesso errore
    .::LTADM::.

  6. #6
    cioè? non riconosce rs.eof? fattelo stampare!

  7. #7
    Originariamente inviato da optime
    cioè? non riconosce rs.eof? fattelo stampare!
    Allora, ho stampato così Response.Write RsDettaglio.EOF & "</br>"

    e mi da Falso, sia che lo metto dentro il loop che fuori
    .::LTADM::.

  8. #8
    se ti risponde falso, vuol dire che il recordset contiene dei record.

  9. #9
    Originariamente inviato da optime
    se ti risponde falso, vuol dire che il recordset contiene dei record.
    In effetti ha ragione, dei record ci sono.
    Spiego meglio la faccenda:

    Nella pagina precedente a questa ho una lista dei cavalli presenti nel database, creo dei link passando l'id di ogni cavallo.
    Ora ho tre record nel database ma 10 nomi di cavalli, quindi nella pagina dove c'è la lista ho tutti i cavalli che sono in una tabella e nella seconda pagina (dove mi da l'errore) interrogo una query access dove ho tutto il resto.

    Spero di essermi spiegato bene...
    .::LTADM::.

  10. #10

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.