PreparedStatement (execute)

3 respostas
javamysql
IDanielsFree

Eu tenho um for que percorre uma list e a cada laço ele faz uma inserção no banco, o problema é que a primeira inserção ele faz de boa, mas depois ele não da mais o execute, simplesmente não executa as inserções seguintes.

3 Respostas

jallisson_jallis

Cadê o código

Dragoon

Poste seu código!

IDanielsFree

A seguir o método que faz o insert no banco.

public void setarProdutos(ModeloVenda1 mV1) {
            
            conexao.conectar();
            
            try {
                
                PreparedStatement pst = conexao.con.prepareStatement("INSERT INTO venda_pro (id, id_produto, quantidade) SELECT MAX(id), ?, ? FROM venda_info");
                pst.setInt(1, Integer.parseInt(mV1.getId_produto()));
                pst.setString(2, mV1.getQuantidade());
                pst.execute();
                
            } catch(SQLException ex) {
                
                a.setTitle("ERRO");
                a.setHeaderText("Houve um erro ao setarProduto.\nERRO: " + ex);
                a.show();
                
            }
            
            conexao.desconectar();
            
        }

A seguir o método que percorre a lista.

for(Vender v : dVender){
                
                mV1.setId_produto(v.getId());
                mV1.setQuantidade(v.getQuantidade());
                controleV.setarProdutos(mV1);
                
            }
Criado 14 de agosto de 2018
Ultima resposta 14 de ago. de 2018
Respostas 3
Participantes 3