Dúvida em commitChanges() em JSP

0 respostas
J

Galera,

Já desenvolvi alguns projetos em JSP, porém todos eram apenas para listagem de dados (relatórios web), porém agora preciso fazer um cadastro (Inserir, Editar, Excluir) e estou com o seguinte problema:

Criei uma página contendo um JTable com 2 colunas de dados (codigo, nome) e uma terceira coluna com um botão de ‘Editar’, na mesma página possui ainda um campo (TextField) pra mostrar o nome do emissor (no caso quando abre a página mostra o primeiro registro da tabela), quando eu clico no botão editar de algum registro a página é atualizada e o nome do emissor é mostrado atualizado no TextField, o problema está em que ao alterar esse nome através do TextField ele não altera no banco de dados após eu clicar em um outro botão (Salvar).

O código do botão salvar está assim:

try {  
   
     tableRowGroup1.setRowKey((RowKey) session.getValue("rk"));  
     RowKey rk = tableRowGroup1.getRowKey();  
     if (rk != null) {  
         emissoresDataProvider.setCursorRow(rk);  
         emissoresDataProvider.refresh();  
         emissoresDataProvider.commitChanges();  
     }  
 } catch (Exception ex) {  
     log("Descrição do erro", ex);  
     error(ex.getMessage());  
 }

O que eu notei é que, como o TextField está relacionado com o meu emissoresDataProvider (bind), após dar o comando emissoresDataProvider.refresh() ele acaba atualizando-o com o valor antigo do campo e acaba salvando esse valor antigo e não o que eu acabei de digitar…

E se caso eu não der o comando emissoresDataProvider.refresh() ele salva o valor que eu digitei no TextField porém grava no primeiro registro da tabela, mesmo que eu tenha selecionado o último…

alguém tem alguma dica pra resolver isso?

Desde já obrigado.

Criado 19 de dezembro de 2007
Respostas 0
Participantes 1