Erro ao fazer uma alteraçao... - RESOLVIDO

5 respostas
W

Galera qdo eu quero mudar algo na minha aplicaçao esta me retornando um erro. Esse e o codigo pra ver se tem algo errado…

try{
            String sql = "UPDATE colaborador SET matricula ='"+tf_matricula.getText()+"',"+
                    "nome = '"+tf_nome.getText()+"',"+
                    "setor = '"+tf_setor.getText()+"',"+
                    "unidade = '"+tf_unidade.getText()+"',"+
                    "funcao = '"+tf_funcao.getText()+"',"+
                    "cargaHoraria = '"+tf_cargaHoraria.getText()+"',"+
                    "adm = '"+tf_adm.getText()+"',"+
                    "situacao = '"+tf_situacao.getText()+"',"+
                    "cpf = '"+tf_cpf.getText()+"',"+
                    "obs = '"+tf_obs.getText()+"',"+
                                    
                    "' where codigo = "+tf_codigo.getText();
            con_colaborador.statement.executeUpdate(sql);
            JOptionPane.showMessageDialog(null, "Alteração Realizada com Sucessso");
            
            //REALIZA O RESULTSET...
            con_colaborador.executeSQL("SELECT * FROM colaborador ORDER BY "+ordenacao);
            atualiza_combo_box_colaborador();// ira atualizar o campo imediatamente apos a acao de mudança
            con_colaborador.resultset.next();//POSICIONA NO PRIMEIRO REGISTRO...
            mostrar_dados();//CHAMA A FUNÇAO QUE IRA MOSTRAR OS DADOS NO FORMULARIO...
        }//FIM DO TRY...
        catch (SQLException erro){
            JOptionPane.showMessageDialog(null, "Erro ao Tentar Alterar o Registro"+erro);
        }//FIM DO CACTH...

E esse e o erro

Erro ao Tentar Alterar o Registrojava.sql.SQLException:You have an error in your SQL systax; check the manual thart correspods to yor Mysql server version for the right syntax to use near.

5 Respostas

celso.martins

Vírgula a mais aqui:

"obs = '"+tf_obs.getText()+"',"+

Tem uma vírgula antes do WHERE.

Conselho: Tente usar PreparedStatement.

Se mesmo assim você quiser utilizar o Statement, printa a salada que fica a sua variável sql. Geralmente é uma boa forma de detectar erros.

A parte do realiza ResultSet não entendi patavina.

Abraços

Anderson_Leite

Antes da linha 14 da um System.out.println(sql);

Pega a query e roda direto no mysql pra ver qual o problema. Se não achar posta o erro e a query aqui.
ps: tudo getText() ??

W

Ai esta Anderson…

UPDATE colaborador SET matricula ='1',nome = 'BAGAO 1000',setor = '00.00',unidade = 'STA RITA',funcao = 'ANALISTA DE SISTEMAS',cargaHoraria = '40',adm = '25/10/2007',situacao = 'A',cpf = '277.429.268.90',obs = 'TESTE','where codigo = 5414
Anderson_Leite

Na linha 13 tem uma apostrofe a mais

troca

"' where codigo = "+tf_codigo.getText();

por

" where codigo = "+tf_codigo.getText();
W

Agora esta blz, valeu Cara…

Criado 11 de novembro de 2007
Ultima resposta 11 de nov. de 2007
Respostas 5
Participantes 3