Inserir em Cascata/Master Detail

0 respostas
R

Olá, tenho a seguinte situação: tenho três tabelas, auditoria, modulo e pergunta_quantitativa. Tenho que fazer uma cópia com novo id dos modulos com todas as perguntas_quantitativas ligadas a ele para um novo questionario. Como poderia fazer para pegar o novo id criado na inserção do modulo e associar as perguntas_quantitativas? Estou usando como ferramenta o netbeans com pacote visual web e como banco mysql. Usando o codigo abaixo não da certo porque ele pega o id atual do módulo e não o que foi criado para a copia.

public String inserirModulo_action() {
        menssagemExcluir.setVisible(false);
         if (moduloDataProvider.canAppendRow() || pergunta_quantitativaDataProvider.canAppendRow()) {
            try {
                RowKey rowKeyModulo = moduloDataProvider.appendRow();
                RowKey rowKeyPerguntaQuantitativa = pergunta_quantitativaDataProvider.appendRow();
                RowKey rowkey = tableRowGroup2.getRowKey();              
                moduloDataProvider.setValue("modulo.nome", rowKeyModulo, moduloDataProvider1.getValue("modulo.nome",rowkey).toString());
                moduloDataProvider.setValue("modulo.descricao", rowKeyModulo, moduloDataProvider1.getValue("modulo.descricao",rowkey).toString());
                moduloDataProvider.setValue("modulo.auditoria_id", rowKeyModulo, cons_questionario.tempAuditoria);
                moduloDataProvider.commitChanges();
                moduloDataProvider1.commitChanges();
                moduloDataProvider.refresh();
                moduloDataProvider1.refresh();
                pergunta_quantitativaDataProvider.setValue("pergunta_quantitativa.nome", rowKeyPerguntaQuantitativa, moduloDataProvider1.getValue("pergunta_quantitativa.nome", rowkey).toString());
                pergunta_quantitativaDataProvider.setValue("pergunta_quantitativa.modulo_id", rowKeyPerguntaQuantitativa, moduloDataProvider1.getValue("pergunta_quantitativa.modulo_id", rowkey));
                pergunta_quantitativaDataProvider.commitChanges();
                pergunta_quantitativaDataProvider.refresh();            
                return null;
                } catch (Exception e) {
                    log("Não pode ser adicionado novo módulo!", e);
                    error("Não pode ser adicionado novo módulo: " + e.getMessage());
                }
            
        } else {
            log("Não pode ser adicionado novo módulo");
            error("Não pode ser adicionado novo módulo");
        } 
        return null;
    }

Se alguém tiver alguma ideia será bem vinda, desde já agradeço!

Criado 8 de janeiro de 2007
Respostas 0
Participantes 1