Duvida Atualizar Jtable

Pessoal tenho uma Tabela na qual ja exibi e exclui os dados da tabela e do banco, mas na hora que fui atualizar apareceu um erro, mas não erro de codigo, mas cho que nos comandos que usei na classe DAO:


Estou conseguindo Fernando ja esta excluindo agora so falta alterar, acho que o erro está na classe dao, vou postar o print do erro 
Não Está dando erro nehum 

Me ajudem 

Codigo DAO: 

view plaincopy to clipboardprint?
public void update(Produtos p){  
  
       // Faz Update(Alteracao) dos produtos  
  
       try {  
           PreparedStatement stm = this.con.prepareStatement("UPDATE produto SET despesa = ?, estabelecimento = ?, data da despesa = ?, valor da despesa = ?, forma de pagamento = ?, data cheque = ? , numero cheque = ? "  
                                                                               + "WHERE despesa = ?");  
           stm.setString(1, p.getDespesa());  
           stm.setString(2, p.getEstabelecimento());  
           stm.setString(3, p.getDatadaDespesa());  
           stm.setString(4, p.getValordaDespesa());  
           stm.setString(5, p.getFormadePagamento());  
           stm.setString(6, p.getDataCheque());  
           stm.setString(7, p.getNumeroCheque());  
           stm.executeUpdate();  
           stm.close();  
       } catch (SQLException ex) {  
           JOptionPane.showMessageDialog(null, ex.getLocalizedMessage(), "Update Error", JOptionPane.ERROR_MESSAGE);  
       }  
   }  

Abaixo um print do erro

Por favor me ajude a solucionar o meu erro!!!

O Vini e o Leandro estão me ajudando muito continuem, só falta este detalhe para concluir minha tela de cadastro de despesa.


Obs: estou aprendendo muito com este forum, criar tablemodel, usar PreparedStatement, Criar Classe DAO, entre outros erros que cometo, como sou principiante não consigo resolver, isto que procuro bastante no google, mas tem coisas que só quem tem muita experiência sabe conto com voceis

Leandro ou vini achei isto em um forum como adapto isto ao meu codigo DAO:


String sql = "Insert into PEDIDO (NPEDI,DATAP,DATAF,NNOTA,CLIEN,REPRE,TRANS,CNPJT,FRETE,CFOP,PRAZO,TOTME,ALICM,DTSAI) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

Lógico se for uma boa prática

[quote=alucardmaas]Leandro ou vini achei isto em um forum como adapto isto ao meu codigo DAO:


String sql = "Insert into PEDIDO (NPEDI,DATAP,DATAF,NNOTA,CLIEN,REPRE,TRANS,CNPJT,FRETE,CFOP,PRAZO,TOTME,ALICM,DTSAI) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

Lógico se for uma boa prática[/quote]

Mano, na real, pra mim tu ja virou Troller te respondi a 2 posts com esse mesmo Assunto ou parecido e com esse ja sao 3 posts do msm assunto, fiz um exemplo com Update/Delete e como aplicar a uma JTable e te mandei, se nem consegue abrir o projeto pra sacar como q faz, entaum mano, sem maldade, volta pros estudos e pare de sair tentando fazer as coisas sem nem saber o q é, e o pior é ainda ter preguiça de entender um código tão simples como esse.
String sql = ??? - Se naum sabe nem o q e isso, abandona.

Sem maldade, estuda as apostilas FJ11 e FJ21 da Caelum pra aprender o basico e depois passa para Swing + MVC mais sei la o q.
Pra aprender é preciso querer aprender e não querer as coisas de mão beijada, no seu caso, código. E ainda mandei um exemplo q basta adequar como precisa hein…affs ! Sem maldade mano, da uma estudada pq eu e outros ja respondemos posts pra ti sobre isso.

Para esse tipo de post seu, nao ajudo mais.

t+ e boa sorte.

E so pra tu sacar, seu SQL ta errado, nao se faz um update sem uma referencia do id para a persistencia.

ex: UPDATE produto SET descricao = ? WHERE id = ?

No exemplo q te mandei tem isso, leia pelo menos.

t+ e boa sorte.

é sou bem aprendiz mesmo, mas eu entendo que aprendemos com erros e com ajuda também, sou muito grato a vc pelo exemplo, que vc me mandou, eu adaptei tudo e li bastante, mas quando venho ao forum, por mais que faço varios posts, eu quero respostas, por mais que seja simples (para vc), não é para mim, é só falar aonde está o erro, um forum não é só para quem sabe e sim para todos, senão teria um teste de conhecimento antes de se cadastrar, e não qualquer um se cadastraria, o Vini sempre atendeu e teve maior paciência comigo e com muitos outros, e aposto que ele viu que postei vários posts, mas agradeço muito por vc ter tido paciencia comigo até agora, valeu!!!

Fico no aguardo de uma resposta para meu post

E outra coisa no começo do site tem um nome de uma instituição famosa então pensa bem antes de falar qualquer coisa que vem a cabeça, para quem está apenas querendo aprender.

[quote=alucardmaas]é sou bem aprendiz mesmo, mas eu entendo que aprendemos com erros e com ajuda também, sou muito grato a vc pelo exemplo, que vc me mandou, eu adaptei tudo e li bastante, mas quando venho ao forum, por mais que faço varios posts, eu quero respostas, por mais que seja simples (para vc), não é para mim, é só falar aonde está o erro, um forum não é só para quem sabe e sim para todos, senão teria um teste de conhecimento antes de se cadastrar, e não qualquer um se cadastraria, o Vini sempre atendeu e teve maior paciência comigo e com muitos outros, e aposto que ele viu que postei vários posts, mas agradeço muito por vc ter tido paciencia comigo até agora, valeu!!!

Fico no aguardo de uma resposta para meu post

E outra coisa no começo do site tem um nome de uma instituição famosa então pensa bem antes de falar qualquer coisa que vem a cabeça, para quem está apenas querendo aprender.[/quote]

Querer aprender e querer tudo pronto são coisas bem diferentes, eu mesmo quando estava começando tinha muitas dúvidas e até hoje ainda tenho sobre coisas que ainda não vi, costumo dizer que o Java é muito grande e nunca sabe-se tudo, sou um eterno aprendiz.
Ja lhe mostramos como se faz, eu fiz um exemplo pra vc, mandei o exemplo que sana essas suas duvidas, so deixei o INSERT pra vc implementar pq o Update e o Delete implementei usando Pattern DAO e como trabalhar com AbstractTableModel.
O primeiro link q te mandei no post, foi exatamente o Sr.Vini me mostrando como fazer o Delete pois estava comecando a usar Abstract saindo do Default e tinha algumas duvidas q foram sanadas em apenas um post q me deu o caminho a seguir para conseguir fazer o q precisava.
O q estou te alertando é para estudar e não ficar pedido as coisas prontas, vc ja tem o material em maos q nos passamos como fazer e os passos de como realiza-los, agora o resto e com vc.
No primeiro post q eu respondi passei um exemplo completo de fazer, vc nao contentou-se com a resposta e pediu mais exemplo, pois bem, fiz um exemplo e te mandei…Se quiser q eu faca seu projeto eu faco, mas vai ter q R$.

Ja lhe disse, leia as apostilas e aprenda Java para depois sair usando componentes Swing e outros, agora msm vc vai perguntar de OSGI sem nem saber o q e.

Entaum, tenha foco, aprenda Java para conseguir fazer o q precisa.

t+ e boa sorte.

Então como vc disse vc mandou eu consegui fazer mas minha duvida e por que aparece aquele erro na foto, era só isso não quero nada pronto, apenas saber por que um erro aparece, e o caminho que tenho que tomar não precisa fazer por que exemplo de tablemodel, e Dao tem de monte na net, mas mesmo assim fico grato, mas eu estou aqui para aprender, e irei com certeza aprender por que vc acha que um toque, ou um exemplo já e muito, mas vlw

OBS: em nenhum momento pedi codigo pronto.

O erro é elementar meu caro Alfred…Campo COUNT incorreto, provavelmente vc esta dando um select ou ate msm fazendo um count q o Access(Triste d++) nao reconhece. Para vc ter nocao do tanto q o Access e bom q qdo estava montando o exemplo pra vc eu costumo usar Long para Id, e o Access nao aceita e me retorna um erro parecido com esse da sua imagem, entao mudei pra int, voilá…funcionou, ou seja Access é Triste d+++.

Ja q esta dizendo tanto q esta começando e quer aprender, aprenda algo melhor q Access como por exemplo H2 ou HSQDB ou MySQL ou SQLServer ou Oracle ou PGSQL ou msm SQLite, ate msm arquivos.txt sao melhores q Access…

Agora va para os estudos e se precisar estamos ae: Faça parte da força, leia os códigos.

t+ e boa sorte.

Entao por exemplo o Acess tem erros que muitos não tem?

É mais dificil de trabalhar

Vou fazer o seguinte vou mudar de banco de dados,

xara era só isto que eu queria dar um aviso sobre o erro, quando vc fala seobre o seu ponto de vista e não sobre o erro do código vc acaba queimando o post, pessoas que poderiam me ajudar já não ajudaram mais, pense sempre antes de falar algo, se você não quiser ajudar ou achar errado o que uma pessoa fala ou esta fazendo, não critica guarda para você, tem muitos aqui no forum e posts que já vi, quando uma pessoa critica, 98% dos posts não são tirado as duvida, vc me ajudou pacas dando o exmplo, de sabado até agora implementei todo meu codigo, Dao, Tablemodel, entre outros e espero poder aprender mais se hoje eu for montar o que já tive de duvida, já não terei mais, podendo assim ajudar o proximo, quando pego um codigo que vceis mandam eu não copio, fico analisando como foi feito e por que, entao quem ler este post pensa sempre, Deus deu dois ouvidos e uma boca, fala menos e ouvi mais, não estou criticando pelo contrario estou tentando ajudar o proximo.

vou mudar de banco, já tinha pensado nisso, só queria uma opinião de quem tem mais experiência.

vlw Fernando

em 2001 eu fiz um sistema com um amigo em VB+Access para controle de uma LanHouse, rapaz, ja vou te adiantar dor-de-cabeça q até hoje de lembrar fui tomar uma Neosaldina, affs Maria.

Use H2 Database, é um banco feito em Java muito simples de usar e na minha humilde opiniao bate em muito banco de nome por ae. Mas vc pode usar tbm MySQL/FireBird/SQLite/SQLServer/Oracle/PGSql etc…etc…etc…Tudo menos Access. Nos meus projetos q uso Banco de Dados embarcado, uso somente H2 ja usei HSQLDB e Derby, mas prefiro o H2.

Aqui eu postei um Off para mostrar como usar com J2SE startando o H2 atraves da App, veja o link: http://www.guj.com.br/java/257609-off-topic-iniciando-o-h2-db-pela-aplicacao-j2se

t+ e boa sorte.

Eu estava olhando e vi que tem uma coluna que nao coloquei sera que este erro pode ter cido isto

teria que ter tido:

public void update(Produtos p){    
    
       // Faz Update(Alteracao) dos produtos    
    
       try {    
           PreparedStatement stm = this.con.prepareStatement("UPDATE produto SET despesa = ?, estabelecimento = ?, data da despesa = ?, valor da despesa = ?, forma de pagamento = ?, data cheque = ? , numero cheque = ?, mes = ? "    
                                                                               + "WHERE despesa = ?");    
           stm.setString(1, p.getDespesa());    
           stm.setString(2, p.getEstabelecimento());    
           stm.setString(3, p.getDatadaDespesa());    
           stm.setString(4, p.getValordaDespesa());    
           stm.setString(5, p.getFormadePagamento());    
           stm.setString(6, p.getDataCheque());    
           stm.setString(7, p.getNumeroCheque());    
           stm.setString(8,pgetMes()); // Está era a coluna que estava faltando  <-------------------------------
           stm.executeUpdate();    
           stm.close();    
       } catch (SQLException ex) {    
           JOptionPane.showMessageDialog(null, ex.getLocalizedMessage(), "Update Error", JOptionPane.ERROR_MESSAGE);    
       }    
   }    

Mas vou mudar o banco quero melhorar sempre, Fernando vc é um cara bacana, me desculpe se em algum momento te ofendi blz, voce me ajudou e muito

vou testar amanhã e posto para ver se eu consegui

Esse seu UPDATE na minha concepção esta errado, não conheço seu cenário ai mas aparentemente esta muito errado.

veja

public void updateProduto(Produto p){

PreparedStatement stm = con.prepareStatement("UPDATE produtos SET descricao = ?, valor = ? WHERE idProduto = ?");
stm.setString(1, p.getDescricao());
stm.setBigDecimal(2, p.getValor());
stm.setLong(1, p.getIdProduto());
stm.executeUpdate();
stm.close()

}

Vc precisa de um ponto de referencia unico para dar um UPDATE no Produto ou em qquer outro tipo de persistencia como Cliente/Fornecedor/Vendas etc…etc…etc…etc…etc. No caso eu dou um UPDATE no produto usando seu codigo q e Unico e autoincremento.
Entao volto a dizer, estude SQL e aprenda Java, na apostila FJ21 da Caelum na parte de DAO tem exemplos sobre isso.

Sem estudar pelo menos o basico vc vai se perder logo logo.

t+ e boa sorte.

Sei que não se pode duplicar posts, então, tem como alguém me ajudar com o problema deste link http://www.guj.com.br/java/232750-resolvidoevento-no-jtable-isso-ta-estranho#1496958 ? :oops:
Ou posso postar minha pergunta/resposta também para cá? :roll:
O assunto é parecido com o deste, porém este tópico aqui é mais novo e acabei respondendo em um tópico antigo e já [Resolvido]…
Obrigado…