Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    306

    riempire una casella di riepilogo

    Devo riempire una casella di riepilogo da un database ed uso il seguente codice:

    codice:
    <select name="codice_piattaforma">
                      <%dim objconn2, objrs2, strsql2
    		  
    		  set objconn2 = server.createobject("adodb.connection")
              objconn2.connectionstring = "dsn=database.dsn"
              objconn2.open
    		   strsql2 = "select [codice articolo], tipologia from articoli where tipologia = 'nome' order by [codice articolo]" 
    		  set objrs2 = server.CreateObject("adodb.recordset")
              objrs2.open strsql2, objconn2, 1
    		  do while not objrs2.eof
    		  if objrs2.recordcount = 0 then%>
    		  <option value=><%="NESSUN ARTICOLO"%></option>
    		  <%ELSE%>
                      <option value=><%=objrs2("codice articolo")%></option>
                      <%end if
    				  objrs2.movenext
    		   loop
    		   objrs2.close
    		   set objrs2 = nothing
    		   objconn2.close
    		   set objconn2 = nothing%>
                    </select>
    Vorrei fare in modo che se non trova nessun articolo deve riempire la casella con "INSERISCI ARTICOLO" testando la proprietà recordcount del recordset, ma non lo fa, come mai?

  2. #2
    Ti conviene fare una query con la COUNT e testare se il risultato è > 0 --> riempi la combo, altrimenti --> INSERISCI ARTICOLO.
    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
    May 2002
    Messaggi
    306
    Se esiste una proprietà count con la query sql purtroppo non la conosco, ma non capisco perché non funziona con la proprietà recordcount dell'oggetto recordset; se eseguo un response.write mi dà il risultato giusto, cioè 0 (quando il database è vuoto) però non inserisce nella casella di riepilogo "INSERISCI ARTICOLO"...al contrario, se il database contiene almeno un record, la casella di riepilogo si riempie con il valore di tale record.

  4. #4
    Prova così:

    codice:
    <select name="codice_piattaforma">
      <%dim objconn2, objrs2, strsql2
    		  
    		  set objconn2 = server.createobject("adodb.connection")
              objconn2.connectionstring = "dsn=database.dsn"
              objconn2.open
    		   strsql2 = "select [codice articolo], tipologia from articoli where tipologia = 'nome' order by [codice articolo]" 
    		  set objrs2 = server.CreateObject("adodb.recordset")
              objrs2.open strsql2, objconn2, 1
    		  if objrs2.recordcount = 0 then%>
    		  <option value=><%="NESSUN ARTICOLO"%></option>
    		  <%ELSE%>
    		  do while not objrs2.eof%>
                      <option value=><%=objrs2("codice articolo")%></option>
    				  objrs2.movenext
    		   loop
                      end if
    		   objrs2.close
    		   set objrs2 = nothing
    		   objconn2.close
    		   set objconn2 = nothing%>
                    </select>
    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
    May 2002
    Messaggi
    306
    ok grazie, ora funziona...bisognava testare la proprietà recordcount fuori dal ciclo...non ci aveco pensato..

  6. #6
    Bene.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.