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

    problema con ciclo while

    non riesco a far eseguire questo ciclo while..o meglio lo esegue ma solo una volta

    codice:
    set objRs = objConn.Execute("SELECT * from costruzioni WHERE NOME='"&session("nome_ut")&"'")
    Do while not objRs.eof 
    id=id+1
    if id<11 then
    set objRs = objConn.Execute("SELECT * from scheda_costruzioni WHERE ID_COSTRUZIONI="&id&"")
    ...
    %> 
     ...
    <%
    end if
    set objRs = objConn.Execute("SELECT * from costruzioni WHERE NOME='"&session("nome_ut")&"'")
    objrs.movenext
    Loop
    come posso sistemarlo?
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  2. #2
    La prima query, quella fuori ciclo, quandi record tira fuori?
    Se dici che te lo esegue una sola volta, allora mi sa che pesca solamente un record.
    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
    dammi una definizione di record...non so cosa dirti altrimenti
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  4. #4


    Numero di righe estratte da una query (le informazioni per intenderci).

    Ad ogni modo tu fai una prima query fuori ciclo e poi esegui la stessa query prima del movenext, secondo me il problema sta lì.
    Le query sono identiche che scopo ha farla all'interno del ciclo?
    Ti basta la query fuori ciclo e poi scorri il recordset come hai impostato.
    Quella prima del movenext non serve.

    Prova così:

    codice:
    set objRs = objConn.Execute("SELECT * from costruzioni WHERE NOME='"&session("nome_ut")&"'")
    Do while not objRs.eof 
       id=id+1
       if id<11 then
          set objRs = objConn.Execute("SELECT * from scheda_costruzioni WHERE ID_COSTRUZIONI="&id&"")
          ...
    %> 
          ...
    <%
       end if
       objrs.movenext
    Loop
    %>
    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
    anche modificando il risultato non è cambiato...
    il ciclo lo fa solo una volta

    ma può essere che sia perchè all'interno del ciclo vado ad eseguire altri select su altre tabelle?
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  6. #6
    Assolutamente no!
    Ma hai verificato che per quella select hai effettivamente una sola riga?
    Perchè, a questo punto, è molto probabile che sia così.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Perchè, a questo punto, è molto probabile che sia così.
    in che senso?

    comunque ho notato che quando vado a creare il primo utente nel db inserisce due righe uguali

    quindi alla select non corrisponde una sola riga...come faccio a farne creare solo 1?
    il problema me lo da solo col primo utente creato
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  8. #8
    Prendi la query fuori ciclo e provala direttamente su Access...
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  9. #9
    sono tornato a questo problema (l'avevo lasciato un po' in disparte)

    allora o provato in tutti i modi

    la query dovrebbe selezionare una riga di un db in base al nome utente e con un ciclo, crea una tabella con tutti i dati contenuti nella riga selezionata
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  10. #10
    Originariamente inviato da Grambo
    la query dovrebbe selezionare una riga di un db in base al nome utente e con un ciclo, crea una tabella con tutti i dati contenuti nella riga selezionata
    Ti sei risposto da solo (nella parte in grassetto), per cui:

    codice:
    set objRs = objConn.Execute("SELECT * from costruzioni WHERE NOME='"&session("nome_ut")&"'")
    
    if not objRs.eof 
       id = id + 1
       if id < 11 then
          set objRs = objConn.Execute("SELECT * from scheda_costruzioni WHERE ID_COSTRUZIONI="&id&"")
    ...
    %> 
     ...
    <%
       end if
    end if 
    %>
    Se la riga è una il ciclo non ti serve.
    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.