signori ho una pagina .jsp che presi dei campi da un form deve aggiornare lo stesso campo nella stessa tabella su X righe. ho buttato giu questo codice:

Codice PHP:
<%@page import="java.sql.*"%>
<%@
page import="java.sql.*"%>
<%@ 
page language="java" contentType="text/html; charset=ISO-8859-1"
    
pageEncoding="ISO-8859-1"%>
    
<%
//Per prima cosa controllo che l'utente abbia effettivamente i diritti di cambiare password altrimenti lo rimando alla home
    
String tipologiaProfilo = (String)session.getAttribute("tipologiaProfilo");
    if(
tipologiaProfilo == null || !tipologiaProfilo.equals("addetto amministrativo")){
        
response.sendRedirect("http://localhost:8080/progBDE/index.jsp");
    } 
//fine verifica
%>
<%
    
//inizializzo le variabili get e post
    
String codiceVendita        request.getParameter("codVendita");
    
String capacita                request.getParameter("capacita");
    
String numeroBottiglie         request.getParameter("numeroBottiglie");
    
String codiceVino            request.getParameter("vino");
    
    
//faccio il parsing a int di numeroBottiglie per fare il confronto
    
int numBottScelto             Integer.parseInt(numeroBottiglie);
    
    
//dichiarazione variabili
    
int bottiglieDisponibili     0;
    
int numeroBottiglieVendita     0;
    
int count 0;
    
int codiceBott 0;%>
    
    <%
    
    try{        
        Class.
forName("com.mysql.jdbc.Driver");
        
Connection con DriverManager.getConnection("jdbc:mysql://localhost/progbde""root""coinisin");
        
Statement st con.createStatement();

//cerco la quantità effettivamente disponibile di bottiglie di quel vino e di quella capacità
ResultSet rs st.executeQuery("SELECT count(b.codiceBottiglia) FROM imbottigliamento as i, bottiglia as b WHERE i.codiceImbottigliamento = b.codiceImbottigliamento and b.vendita is null and i.codiceVino ='"+codiceVino+"' and b.capacita ='"+capacita+"' group by i.codiceVino");
//controllo che la capacità delle bottiglie sia stata specificata bene altrimenti rimando al form
if(!rs.first()){response.sendRedirect("http://localhost:8080/progBDE/panel/addAmmin/inserisciBottiglieVendita.jsp?codVendita="+codiceVendita+"&err=1");}
 
bottiglieDisponibili rs.getInt(1);
        
if(
numBottScelto bottiglieDisponibili ){response.sendRedirect("http:localhost:8080/progBDE/panel/addAmmin/inserisciBottiglieVendita.jsp?codVendita="+codiceVendita+"&err=2");}
        
    }
    catch(
SQLException e){ e.printStackTrace();}
    catch(
ClassNotFoundException e) { e.printStackTrace();}
    
    
    
    try{        
        Class.
forName("com.mysql.jdbc.Driver");
        
Connection con DriverManager.getConnection("jdbc:mysql://localhost/progbde""root""coinisin");
        
Statement st con.createStatement();
    
        
        
//prima trovo i codiceBottiglia delle bottiglie di quel vino e di quella capacità
ResultSet lista st.executeQuery("SELECT b.codiceBottiglia FROM bottiglia as b, imbottigliamento as i WHERE i.codiceVino='"+codiceVino+"' and i.codiceImbottigliamento = b.codiceImbottigliamento and b.vendita is null and  b.capacita ='"+capacita+"' LIMIT "+numBottScelto+"");
//inserimento della vendita alla bottiglia (update del campo vendita in bottiglia)
        
(****->)while(lista.next()){
            
codiceBott lista.getInt(1);
        
int ins st.executeUpdate("UPDATE bottiglia SET vendita='"+codiceVendita+"' WHERE codiceBottiglia='"+codiceBott+"'");
out.println(" codiceBott : "+codiceBott+"
"
);
        }
    
    
//trovo la quantita di bottiglie della vendita
    
ResultSet rs3 st.executeQuery("SELECT numeroBottiglie FROM vendita WHERE codiceVendita='"+codiceVendita+"'");
    
rs3.next();
    
    
numeroBottiglieVendita rs3.getInt(1);
    
numeroBottiglieVendita numeroBottiglieVendita+numBottScelto;
    
out.println("
numeroBottiglieVendita: "
+numeroBottiglieVendita+"
"
);
    
st.executeUpdate("UPDATE vendita SET numeroBottiglie='"+numeroBottiglieVendita+"' WHERE codiceVendita='"+codiceVendita+"'");
    

}
catch(
SQLException e){ e.printStackTrace();}
catch(
ClassNotFoundException e) { e.printStackTrace();}



    %>
    <%
    
//redirect alla pagina di riepilogo della vendita
    
response.sendRedirect("http://localhost:8080/progBDE/panel/addAmmin/riepilogoVendita.jsp?codVendita="+codiceVendita+"");
        
    
%> 
in pratica il
Codice PHP:
while(lista.next()) 
che dovrebbe scorrere i codiceBott e con quelli eseguire la query di update ad ogni iterazione un diverso codiceBott esce alla prima iterazione!. se provo a togliere l'istruzione executeUpdate e faccio solo un
Codice PHP:
out.println(codiceBott); 
me li stampa tutti , solo con l'istruzione executeUpdate si blocca alla prima iterazione.

Avete qualche suggerimento per farlo funzionare? un altro modo per fare la stessa cosa?

vi ringrazio gia da ora