Update no BD sem ter o ID na tabela! (RESOLVIDO)

8 respostas
samuk1

Bom Dia… Me Ajudem com um Pequeno Problema por favor.
Tenha uma Jtable onde eu Preencho os campos “Data”,“Descricao”,“Valor”… No BD possuo a Tabela com os mesmos campos mas o ID, pois não utilizo ele na JTable.
Quando faço o Update, pego os valores da linha selecionada. Mas como não tenho o ID na tabela, como faço para dar o “where” deste Update?

Abraços. :smiley:

8 Respostas

williamdasflores

Coloca o código de como você popula essa JTable.

erico_kl

Provavelmente você não está utilizando um TableModel personalizado, certo?
Implemente o seu TableModel de forma que você possa inserir objetos na JTable, e não campos…

Não importa que você não mostre o código visualmente, o importante é que o código vai estar embutido na lista contida no TableModel…

Lembre-se, uma coisa são os seus dados, e outra é forma que você os representa… Uma coisa independe da outra

douglaskd

não recomendo você fazer da maneira abaixo:

colocar o id na jtable e esconder a coluna…

se pensou em fazer assim, não faça… é gambiarra

samuk1

Bom Dia… Primeiro, eu ultilizo sim TableModel e tenho os objetos em uma list!
Mais não quero fazer gambiarra e manter uma Coluna da JTable oculta…

erico_kl

samuk:
Bom Dia… Primeiro, eu ultilizo sim TableModel e tenho os objetos em uma list!
Mais não quero fazer gambiarra e manter uma Coluna da JTable oculta…

mas então é só popular a sua lista fazendo com que ela venha com o código, e exibir somente o que você quer…
Aí no seu TableModel você poderia ter um método parecido com isso:

public Object getObject(int row) { return suaLista.get(row); }
e na sua view identificar a linha clicada e passar para esse método…

Object seuObjeto = seuTableModel.getObject(suaTable.getSelectedRow());
samuk1

Muito Boa Eric, mas tenho duas duvidas.Acho que são bobas, mas vamos lá!

1 - Posso colocar 4 campos na minha Lista e popular apenas 3 na minha JTable?

2 - Se eu tiver que mudar a Ordem de exibição da tabela, a Row passa a ser diferente da minha List?

Obrigado

erico_kl

Pode colocar 10 campos na lista e popular apenas 1, é indiferente…

Depende de como você implementar, neste exemplo que te mostrei a ordem da lista está vinculada à ordem de exibição… O que pode não ser interessante em alguns casos. Mas nada impede que você atualize sua lista quando for alterada a ordem…

samuk1

Perfeito Erico… Funcionou 100% . Muito Obrigado!

Criado 17 de agosto de 2012
Ultima resposta 17 de ago. de 2012
Respostas 8
Participantes 4