[Resolvido] Como inserir dados em 2 tabelas do banco em 1 formulário

Olá galera, eu estou fazendo um formulário que quando for preenchido o seu conteúdo deve ser registrado em duas tabelas do banco de dados. Já tentei algumas maneiras, mas não deram certo!

DoacaoDAO

import model.DaoUtil;

public class DoacaoDAO extends DaoUtil {

       public boolean setAdicionar(DoacaoDTO doacao) throws SQLException, ClassNotFoundException {
        String sql = "INSERT INTO tb_material (nome_material, tipo_material, desc_material)"
                + "VALUES(?, ?, ?)"; 
                

        PreparedStatement ps = super.getPreparedStatement(sql); 
        ps.setString(1, doacao.getNome_material()); 
        ps.setString(2, doacao.getTipo_material());
        ps.setString(3, doacao.getDesc_material());
        
        
        sql = "INSERT INTO tb_doacao (desc_doacao)" + "VALUES(?)";
        ps.setString(1, doacao.getDesc_doacao());
        
                 
        int ret = ps.executeUpdate();
        ps.close();
        super.getFechaConnection();

        return ret > 0;
    }

E o que não dá certo? Acontece algum erro? Poste também seu modelo de dados para ajudar a te ajudarem.

Primeiro problema ai deve ser porque você não está chamando executeUpdate para cada INSERT. Usa um PreparedStatement para cada comando INSERT.

1 curtida

javaflex muito obrigado!! Criei um novo PreparedStratement para o outro Insert e chamei o executeUpdate e funcionou.:grinning: