[RESOLVIDO] While rs.next() Executa somente 1 resultado

//Metodo salvar entrada
private void salva_entrada() {

    String sql = "Insert into entrada(datarec,fornecedor,dtnfe,usuario,nfe,vlr_nfe) values (?,?,?,?,?,?)";

    try {

        pst = conexao.prepareStatement(sql);
        java.util.Date data = new java.util.Date();
        SimpleDateFormat formatar = new SimpleDateFormat("yyyy/MM/dd");
        String dataFormatada = formatar.format(data);
        pst.setString(1, dataFormatada);
        pst.setString(2, jTextFieldFornecedor.getText());
        //conversao de string to date para mysql 18/03/1983 1983-03-18
        String dia = jTextFieldDtNfe.getText().substring(0, 2);
        String mes = jTextFieldDtNfe.getText().substring(3, 5);
        String ano = jTextFieldDtNfe.getText().substring(6);
        String datanfe = ano + "-" + mes + "-" + dia;
        pst.setString(3, datanfe);
        pst.setString(4, jComboBoxUsuario.getSelectedItem().toString());
        pst.setString(5, jTextFieldNfe.getText());
        pst.setString(6, jTextFieldVlrNfe.getText());

        int adicionar = pst.executeUpdate();
        if (adicionar > 0) {

            JOptionPane.showMessageDialog(null, "Entrada Realizada!");

            //Obter id da ultima entrada
            String sql2 = "select identrada from entrada order by identrada desc limit 1";

            pst = conexao.prepareStatement(sql2);
            rs = pst.executeQuery();

            if (rs.first()) {

                String identrada = rs.getString("identrada");
                System.out.println(identrada);

                //Atualiza a entrada_item 0 para a ultima entrada
                String sql3 = "Update entrada_item set identrada_item = ? where identrada_item = '0'";

                pst = conexao.prepareStatement(sql3);
                pst.setString(1, identrada);

                int atualiza = pst.executeUpdate();

                if (atualiza > 0) {

                    JOptionPane.showMessageDialog(null, "Itens da entrada gravados com sucesso!");

                    //Obtem os dados da ultima entrada item
                    String sql4 = "Select * from entrada_item where identrada_item = ?";

                    pst = conexao.prepareStatement(sql4);
                    pst.setString(1, identrada);
                    rs = pst.executeQuery();

                    while (rs.next()) {

                        String id = rs.getString("identrada_item");
                        String idpro = rs.getString("idproduto");
                        String qtd = rs.getString("qtd_item");
                        String lote = rs.getString("lote");
                        String validade = rs.getString("validade");
                        String estmin = rs.getString("est_min");

                        int qtd_atual = Integer.parseInt(qtd);

                        //Verifica estoque existente e Captura o valor do estoque atual do produto caso exista
                        String sql5 = "select est from estoque where idproduto = ? and lote = ?";

                        pst = conexao.prepareStatement(sql5);
                        pst.setString(1, idpro);
                        pst.setString(2, lote);
                        rs = pst.executeQuery();

                        if (rs.next()) {

                            String est_atual = rs.getString("est");
                            int est_atual_new = Integer.parseInt(est_atual);

                            //Calculo de estoque atual + entrada
                            int total_est = est_atual_new + qtd_atual;
                            String total_est_new = Integer.toString(total_est);

                            //Atualizar os valores de estoque no banco
                            String sql6 = "update estoque set est = ?,est_min = ? where idproduto = ? and lote= ?";

                            pst = conexao.prepareStatement(sql6);
                            pst.setString(1, total_est_new);
                            pst.setString(2, estmin);
                            pst.setString(3, idpro);
                            pst.setString(4, lote);

                            int ajustado = pst.executeUpdate();
                            
                            if (ajustado > 0) {

                                JOptionPane.showMessageDialog(null, "Estoque ajustado com sucesso!");
                            }
                        }
                    }

                }

            }

        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }

}

OBS: Existem 2 resultados no meu While rs.next() preciso que ele faça o update na tabela de estoque para os 2 resultados, porem o while ao executar o primeiro encerra o laço e não executa a proxima linha

Até podem existir 200… Dentro do while estás a reatribuir outro valor a rs, vais perder o ResultSet do while.

(...)
              while (rs.next()) {

                    String id = rs.getString("identrada_item");
                    String idpro = rs.getString("idproduto");
                    String qtd = rs.getString("qtd_item");
                    String lote = rs.getString("lote");
                    String validade = rs.getString("validade");
                    String estmin = rs.getString("est_min");

                    int qtd_atual = Integer.parseInt(qtd);

                    //Verifica estoque existente e Captura o valor do estoque atual do produto caso exista
                    String sql5 = "select est from estoque where idproduto = ? and lote = ?";

                    pst = conexao.prepareStatement(sql5);
                    pst.setString(1, idpro);
                    pst.setString(2, lote);
                    rs = pst.executeQuery();  // Aqui não podes usar rs, tens de criar uma variável nova
//Metodo salvar entrada
private void salva_entrada() {

    String sql = "Insert into entrada(datarec,fornecedor,dtnfe,usuario,nfe,vlr_nfe) values (?,?,?,?,?,?)";

    try {

        pst = conexao.prepareStatement(sql);
        java.util.Date data = new java.util.Date();
        SimpleDateFormat formatar = new SimpleDateFormat("yyyy/MM/dd");
        String dataFormatada = formatar.format(data);
        pst.setString(1, dataFormatada);
        pst.setString(2, jTextFieldFornecedor.getText());
        //conversao de string to date para mysql 18/03/1983 1983-03-18
        String dia = jTextFieldDtNfe.getText().substring(0, 2);
        String mes = jTextFieldDtNfe.getText().substring(3, 5);
        String ano = jTextFieldDtNfe.getText().substring(6);
        String datanfe = ano + "-" + mes + "-" + dia;
        pst.setString(3, datanfe);
        pst.setString(4, jComboBoxUsuario.getSelectedItem().toString());
        pst.setString(5, jTextFieldNfe.getText());
        pst.setString(6, jTextFieldVlrNfe.getText());

        int adicionar = pst.executeUpdate();
        if (adicionar > 0) {

            JOptionPane.showMessageDialog(null, "Entrada Realizada!");

            //Obter id da ultima entrada
            String sql2 = "select identrada from entrada order by identrada desc limit 1";

            pst = conexao.prepareStatement(sql2);
            rs = pst.executeQuery();

            if (rs.first()) {

                String identrada = rs.getString("identrada");
                System.out.println(identrada);

                //Atualiza a entrada_item 0 para a ultima entrada
                String sql3 = "Update entrada_item set identrada_item = ? where identrada_item = '0'";

                pst = conexao.prepareStatement(sql3);
                pst.setString(1, identrada);

                int atualiza = pst.executeUpdate();

                if (atualiza > 0) {

                    JOptionPane.showMessageDialog(null, "Itens da entrada gravados com sucesso!");

                    //Obtem os dados da ultima entrada item
                    String sql4 = "Select * from entrada_item where identrada_item = ?";

                    pst = conexao.prepareStatement(sql4);
                    pst.setString(1, identrada);
                    rs = pst.executeQuery();

                    while (rs.next()) {

                        String id = rs.getString("identrada_item");
                        String idpro = rs.getString("idproduto");
                        String qtd = rs.getString("qtd_item");
                        String lote = rs.getString("lote");
                        String validade = rs.getString("validade");
                        String estmin = rs.getString("est_min");

                        int qtd_atual = Integer.parseInt(qtd);

                        //Verifica estoque existente e Captura o valor do estoque atual do produto caso exista
                        String sql5 = "select est from estoque where idproduto = ? and lote = ?";
                        
                        
                        pst = conexao.prepareStatement(sql5);
                        pst.setString(1, idpro);
                        pst.setString(2, lote);
                        est = pst.executeQuery();

                        if (est.next()) {

                            String est_atual = est.getString("est");
                            int est_atual_new = Integer.parseInt(est_atual);

                            //Calculo de estoque atual + entrada
                            int total_est = est_atual_new + qtd_atual;
                            String total_est_new = Integer.toString(total_est);

                            //Atualizar os valores de estoque no banco
                            String sql6 = "update estoque set est = ?,est_min = ? where idproduto = ? and lote= ?";

                            pst = conexao.prepareStatement(sql6);
                            pst.setString(1, total_est_new);
                            pst.setString(2, estmin);
                            pst.setString(3, idpro);
                            pst.setString(4, lote);

                            int ajustado = pst.executeUpdate();
                            
                            if (ajustado > 0) {

                                JOptionPane.showMessageDialog(null, "Estoque ajustado com sucesso!");
                            }
                        }
                    }

                }

            }

        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }

}

Achei lógica sua explicação amigo e entendi perfeitamente que estava perdendo o rs do while, criei uma nova variavel conforme o codigo acima “est” tambem do tipo resultset para armazenar o valor de estoque porem ao percorrer a depuração o while mesmo assim foi encerrado atualizando somente a primeira linha, teria algo a mais errado no metodo?

Alterei mais uma variavel do codigo que atribuia valor ao ResultSet e funciono amigo Obrigado muito boa a ajuda.