Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666

    Visualizza primo record e se non c'è?

    Salve ragazzi, sapreste dirmi come selezionare il primo record in un db, ma che non dia errore se questo primo record non c'è?

    Ho fatto così:

    codice:
    		  <%	
    				Set RecSet = Server.CreateObject("ADODB.Recordset")
    				Visa = "SELECT TOP 1 * FROM profili ORDER BY ID DESC"
    				RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
    e mi da questo errore:

    codice:
    ADODB.Field error '80020009' 
    
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 
    
    /profili.asp, line 0
    Come faccio?
    AltF4

  2. #2
    codice:
    <%	
    Set RecSet = Server.CreateObject("ADODB.Recordset")
    Visa = "SELECT TOP 1 * FROM profili ORDER BY ID DESC"
    RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic 
    
    if RecSet.Eof then
       response.write("Il primo record non c'è")
    else
       ...FAI QUELLO CHE DESIDERI...				
    end if     
    %>
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ..mi basterebbe che lasciasse i campi vuoti senza darmi errore.

    Come posso evitare questo:

    codice:
    if RecSet.Eof then
       response.write("Il primo record non c'è")
    else
       ...FAI QUELLO CHE DESIDERI...				
    end if     
    %>
    AltF4

  4. #4
    Non ho capito!?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    codice:
    <%	
    				Set RecSet = Server.CreateObject("ADODB.Recordset")
    				Visa = "SELECT TOP 1 * FROM profili ORDER BY ID DESC"
    				RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
    Se il database è vuoto non mi da nessun dato, l'importante è che non mi dia errore.
    Tutto qua.

    Sarò stato più chiaro? ..mah..
    AltF4

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ..forse è una cosa talmente stupida che non riesco a trovare la soluzione.

    Devo semplicemente selezionare il primo record nel db.

    Purtroppo se il record è vuoto mi da errore.

    Quindi trovando il modo per selezionare il primo record solo se il db NON è vuoto!!!

    Potrebbe essere una soluzione? Ma come si fa???
    AltF4

  7. #7
    Prova così:
    codice:
    <%	
    Set RecSet = Server.CreateObject("ADODB.Recordset")
    Visa = "SELECT TOP 1 * FROM profili ORDER BY ID DESC"
    RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic 
    
    if RecSet.Eof then
       response.write("Il primo record non c'è")
    else
      if isNull(RecSet("Colonna")) then
         response.write("Riga vuota")  
      else
         ...FAI QUELLO CHE DESIDERI...				
      end if     
    end if       
    %>
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  8. #8
    Originariamente inviato da AltF4
    ..forse è una cosa talmente stupida che non riesco a trovare la soluzione.

    Devo semplicemente selezionare il primo record nel db.

    Purtroppo se il record è vuoto mi da errore.

    Quindi trovando il modo per selezionare il primo record solo se il db NON è vuoto!!!

    Potrebbe essere una soluzione? Ma come si fa???
    si usa sempre e comunque .EOF. se proprio vuoi essere raffinato, usa una COUNT *prima* della SELECT

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ..mmm..

    Forse sbaglio proprio le select, vediamo se ci riesco ora:

    Ho un pagina ASP collegata ad un db, devo prima visualizzare all'interno di una tabella il primo record del db e poi dalla seconda in poi devo visualizzare tutti i record, ho fatto così, ma sicuramente ho sbagliato:

    codice:
    		  <%	
    				Set RecSet = Server.CreateObject("ADODB.Recordset")
    				Visa = "SELECT TOP 1 * FROM profili ORDER BY ID DESC"
    				RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
    poi chiudo:

    codice:
    		  <% RecSet.Close
         		 Connect.Close %>
    riapro e seleziono tutti i record meno il primo:

    codice:
    		  <%	
    				Set RecSet = Server.CreateObject("ADODB.Recordset")
    				Visa = "SELECT * FROM Profili WHERE ID NOT IN (SELECT TOP 1 FROM profili ORDER BY ID DESC) ORDER BY ID DESC"
    				RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
              <%	Do Until RecSet.EOF %>
    loop e chiudo:

    codice:
    		<% 		RecSet.MoveNext
    				Loop
    				RecSet.Close 
    		%>
    :master:
    AltF4

  10. #10
    Prima di:

    codice:
    <%	Do Until RecSet.EOF %>
    devi fare:
    codice:
    <%
    if RecSet.EOF then
       response.write("Non c'è una mazza!")
    else
       Do Until RecSet.EOF 
          ..................
       Loop
    end if
    %>
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.