Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 27 su 27

Discussione: ordinamento da select

  1. #21
    Originariamente inviato da longline
    Attenzione che non è detto che TOP 10 restituisca sempre 10 record...
    Dipende che condizioni usi ;-)
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #22
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Originariamente inviato da maximum
    Dipende che condizioni usi ;-)
    Si può essere sicuri del numero di record restituiti solamente se l'ordinamento del recordset si basa su campi con valori che non si ripetono mai (ad esempio la chiave primaria), altrimenti non c'è mai la certezza.

  3. #23
    Certamente, dipende da come si procede nella strutturazione della tabella.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #24
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Originariamente inviato da maximum
    Certamente, dipende da come si procede nella strutturazione della tabella.
    No, dipende dalla clausola ORDER BY.

  5. #25
    ...e da cosa ci metti.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  6. #26
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da longline
    Codice per la prima pagina (visualizza solo i primi 10 record)
    codice:
    Contarecord=0
    
    'apro la connessione con il db
    set myConn = server.CreateObject("ADODB.Connection")
    
    dim strConnDb
    strConnDb = ""
    strConnDb = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/news.mdb")
    myConn.Open(strConnDb)
    mySqlSelect = "select * from notizie order by Data desc"
    set myRSComS = server.CreateObject("ADODB.Recordset")
    myRSComS.Open mySqlSelect, myConn
    do while not(myRSComS.EOF) Or Contarecord = 10
      Contarecord = Contarecord + 1
    
      ' visualizza il record
      
      myRSComS.MoveNext
    loop
    Codice per la seconda pagina (visualizza i record che seguono i primi 10)
    codice:
    Contarecord=0
    
    'apro la connessione con il db
    set myConn = server.CreateObject("ADODB.Connection")
    
    dim strConnDb
    strConnDb = ""
    strConnDb = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/news.mdb")
    myConn.Open(strConnDb)
    mySqlSelect = "select * from notizie order by Data desc"
    set myRSComS = server.CreateObject("ADODB.Recordset")
    myRSComS.Open mySqlSelect, myConn
    do while not(myRSComS.EOF) Or Contarecord = 10
      Contarecord = Contarecord + 1
    
      ' non fare nulla prima di avere raggiunto il 10mo record
      
      myRSComS.MoveNext
    loop
    
    ' ora facciamo su serio ;)
    do while not(myRSComS.EOF)
    
      ' visualizza il record
      
      myRSComS.MoveNext
    loop
    domande:

    - nel codice della pagina1 qual'ora non vi siano record cosa succede?

    - nel codice della pagina2 invece se i record sono <=10 posso inserire un messaggio di archivio vuoto nel primo ciclo while?

    grazie

  7. #27
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407

    problemino...

    http://www.aite-italia.com/novita1.asp

    vengono visualizzati tutti e 21 i record e non le ultime 10... perchè?? :master:


    io il codice l'ho modificato così:

    codice:
    		<%		
    		Contarecord=0
    		
    		'apro la connessione con il db
    		set myConn = server.CreateObject("ADODB.Connection")
    		
    		dim strConnDb
    		strConnDb = ""
    		strConnDb = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/news.mdb")
    		myConn.Open(strConnDb)
    		mySqlSelect = "select * from notizie order by Data desc"
    		set myRSComS = server.CreateObject("ADODB.Recordset")
    		myRSComS.Open mySqlSelect, myConn
    		do while not(myRSComS.EOF) Or Contarecord = 10
    		  Contarecord = Contarecord + 1
    		%>		
    		
    	    <table width="500" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
    		 <tr>
    		  <td>
    		  <font face="verdana" size="2" color="#FF0000">
    		  <font color="#05326f"><%=myRSComS("data")%></font><%=myRSComS("titolo")%>
    		  </font>
    		  </td>
    		 </tr>
    		 <tr>
    		  <td>
    		  <p align="justify">
    		  <font face="verdana" size="2" color="#000000">
    			<%
    			Testoparziale=""
    			Testoparziale=myRSComS("argomento")
    			pos=150
                response.write(left(Testoparziale, pos) &"... [Continua]")
    			%>
    		  </font></p>
    		  </td>
    		 </tr>
    		</table>
    	    <table width="500" height="10" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
    		 <tr>
    		  <td></td>
    		 </tr>
    		</table>
    
    		<%
    		  myRSComS.MoveNext
    		loop
    
    		myRSComS.Close
    		set myRSComS=nothing	
    		myConn.Close
    		set myConn=nothing
    
    		%>
    e a pater tutto ma questa condizione

    codice:
    do while not(myRSComS.EOF) Or Contarecord = 10
    non è sbagliata??
    in questo mod si dice al sistema di fare mentre il file non è arrivato alla fine o il contatore è uguale a 10

    ma il contatore non sarà mai uguale a 10 se parte da 0 e quindi i requisiti della condizione non vengono soddsfatto o sbaglio?? :master:

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.