Comando UPDATE errado pq? [RESOLVIDO]

E ao pessoal tudo tranquilo?
Estou aqui de novo com outra duvida, meu comando UPDATE ta dando pau na execução do meu programa.
Eu já procurei pra caramba no google, e unica forma que achei de usar o comando UPDATE é a forma que eu estou usando, mas esta dando erro.
O comando inserir, excluir, avançar, voltar, primeiro e ultimo estão funcionando corretamento, portando o programa não é no banco sim no código.

stm.execute("UPDATE dados set (nome = '" + nome + "',telefone = " + tel + ",msn = '" + msn + "',email = '" + email +"') where (nome = '" + nome + "')"); //telefone é um inteiro e nao string, o resto é tudo string

Obrgado pela ajuda!

Posta esse método, por favor, se puder, e indique que erro está dando.
Mas note isso:
Use Prepared Statements: http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html, assim você evita essa bagunça de ’ e ", vai facilitar tua vida, e creio que o problema esteja aí, não consigo visualizar o problema diretamente.
Se for usar o sql INTEIRO direto (o que já não é nada bonito), opte por montar a string com um StringBuilder.
Abraço!

Qual erro que está dando (cole a exception para nós).
Outra coisa, eu costumava fazer o update sem usar os parênteses no set… ficando algo assim mais ou menos

stm.execute("UPDATE dados set nome = '" + nome + "',telefone = " + tel + ",msn = '" + msn + "',email = '" + email  +"' where nome = '" + nome);  

Outro detalhe, se você já está usando o PreparedStatement, aconselho você usar os parametros dele, colocando o ? e depois usando o smt.setString, setInt e por ai vai.
No GUJ tem um artigo sobre PreparedStatement.

Então, como tinha dito, as outras funções como Adicionar estão funcionando corretamento, por isso acho que digitei algo errado aí.

Não sei o que está errado!

Tenta fazer o que eu falei e também posta a exceção que ocorreu, assim fica mais fácil para o pessoal te ajudar

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na instrução UPDATE.

É a sintaxe mesmo.
Alguma observação?

Cara, não tenho muita certeza, mas se não me engano, no Access, tens que colocar os nomes dos campos cercados por colchetes… tipo:

(...) set [nome] = '" + nome + (...)
stm.execute("UPDATE dados set nome = '" + nome + "',telefone = " + tel + ",msn = '" + msn + "',email = '" + email  +"' where nome = '" + nome); 

Usei este codigo postado pelo Junior e deu outro erro.

java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na seqüência de caracteres na expressão de consulta 'nome = ‘Adriano’

E o certo seria usar stn.executeUpdate? (tentei tb não foi)

Bom usei os colchetes, mas continua o mesmo erro, acho que nao influencia em nada.
Estou dando uma olhada nos link que foram passado, mas ainda nenhum resultado.

Mas agradeço pela ajuda, vou continuar tentando aqui, e se alguém tiver alguma idéia do que posso esta fazendo de errado por favor da um toque ^^

Se não me engano, o problema está no seu último parâmetro:
Observe que falta fechar o ’ de nome. Acho que ficaria assim:

stm.execute("UPDATE dados set nome = '" + nome + "',telefone = " + tel + ",msn = '" + msn + "',email = '" + email +"' where nome = '" + nome + "'"); .

Mas é preferível que você utilize PreparedStatement como o pessoal citou anteriormente. Dá uma pesquisada… :slight_smile:

Vlwwww Wagner!!!

Deu certinhooo velho!
Nem acredito que o erro tava na minha cara e nao consegui resolver!
Eu tinha certeza que era erro de sintaxe e nada mais!

Obrigado mesmo cara!!!

Alias obrigado a todos que tiveram paciencia e tentaram me ajudar! ^^

Uhulll

Esse wagner salvou minha vida tbm. Sem eu ter nada a ver com o assunto

Valeu