TableModel não mostra ID após inserção

4 respostas Resolvido
abstracttablemodeljava
C

Tenho o seguinte problema. pesquisei em vários fóruns, mas não consegui resolver o meu problema. Se alguém puder me ajudar, agradeço desde já.

Tenho uma JTable, implementada por um AbstractTableModel.
Tenho um JFrame que insere os dados no banco (MySQL)
Quando faço a inserção dos dados no banco e chamo o método fireTableRowsInserted(), ele adiciona os dados na Jtable, porém, a primeira coluna desta table, que é o ID do registro gravado, aparece somente o 0(zero).

Como eu poderia fazer para aparecer o ID do registro? Há como fazer pelo TableModel? Ou teria que chamar novamente o método que popula a Jtable.

Desde já agradeço.

Método do meu TableModel para adicionar a linha inserida:

public void addPais(CPais pais) {
linhas.add(pais);
int ultimoIndice = getRowCount() - 1;
fireTableRowsInserted(ultimoIndice, ultimoIndice);
}

Método do meu Jframe após inserir o registro:

dp.GravaPais(cp); // Chama o DAO e o método para gravar
modelotabelapais.addPais(cp); // Notifica o modelo da tabela que um novo registro foi inserido.

4 Respostas

darlan_machado

Está usando jdbc para persistir os dados?

C

Boa tarde. Sim.

darlan_machado
Solucao aceita

O JDBC não retorna o valor da PK de um registro recém inserido.
Você precisa requisitar essa informação.
Dá uma oilhada e vê se te ajuda.

C

Perfeito darlan_machado. Funcionou exatamente como eu precisava. Muito Obrigado.

Criado 5 de setembro de 2019
Ultima resposta 6 de set. de 2019
Respostas 4
Participantes 2