Executar um UPDATE na tabela no MYSQL!

5 respostas
J

Galera, estou tentando executar um UPDATE na tabela pessoas no BD mysql e não estou conseguindo. Me ajudem, por favor!!!

segue o código:

preparedStatement = connection.prepareStatement("UPDATE Pessoas" +
                            "SET cpf = "+cpf+", nome = '"+nome+"', sobrenome = '"+sobrenome+"', nomePai = '"+nomePai+"'," +
                            "nomeMae = '"+nomeMae+"', telFixo = '"+telFixo+"', telCelular = '"+telCelular+"', endereco = '"+endereco+"'," +
                            "chaveUsuario = '"+chaveUsuario+"', id = '"+id+"', pontuacaoPessoal = "+pontuacaoPessoal+"," +
                            "pontuacaoRede = "+pontuacaoRede+", pontuacaoTotal = "+pontuacaoTotal+", senha = '"+senha+"'," +
                            "cpfSolicitante = "+cpfSolicitante+"" +
                            "WHERE cpf = "+cpf+"" );
                        preparedStatement.executeUpdate();
                        
                	preparedStatement.close();

E DÁ O SEGUINTE ERRO:

Syntax error or access violation, message from server: "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '= [telefone removido], nome = 'PIA', sobrenome = 'PIA', nomePai = 'PIA'"

ME AJUDEM!!!!
DESDE JÁ, AGRADEÇO!!!!

[color="red"]*Editado: Tópico movido para o fórum JDBC / SQL, e lembre-se de usar BBCode em suas mensagens no fórum: Jair Elton[/color] :joia:

5 Respostas

J

PreparedStatement serve justamente para evitar usar concatenações, e você está usando os dois juntos. 8O

preparedStatement = connection.prepareStatement("UPDATE pessoas SET cpf = ?, nome = ?, sobrenome = ?, nomePai = ?...");

preparedStatement.setString(1, cpf);
preparedStatement.setString(2, nome);
preparedStatement.setString(3, sobrenome);
preparedStatement.setString(4, nomePai);

preparedStatement.executeUpdate();
J

CONTINUA DANDO O MESMO ERRO!!!

COMO ESTÁ:

preparedStatement = connection.prepareStatement(
“UPDATE Pessoas” +
“SET cpf = ?, nome = ?, sobrenome = ?, nomePai = ?, nomeMae = ?, telFixo = ?,” +
“telCelular = ?, endereco = ?, chaveUsuario = ?, id = ?, pontuacaoPessoal = ?,” +
" pontuacaoRede = ?, pontuacaoTotal = ?, senha = ?, cpfSolicitante = ?" +
“WHERE cpf = “+cpf+”” )
;

preparedStatement.setLong(1, cpf);
                    preparedStatement.setString(2, nome);
                    preparedStatement.setString(3, sobrenome);
                    preparedStatement.setString(4, nomePai);
                    preparedStatement.setString(5, nomeMae);
                    preparedStatement.setString(6, telFixo);
                    preparedStatement.setString(7, telCelular);
                    preparedStatement.setString(8, endereco);
                    preparedStatement.setString(9, chaveUsuario);
                    preparedStatement.setString(10, id);
                    preparedStatement.setInt(11,  pontuacaoPessoal);
                    preparedStatement.setInt(12,  pontuacaoRede);
                    preparedStatement.setInt(13,  pontuacaoTotal);
                    preparedStatement.setString(14,  senha);
                    preparedStatement.setLong(15, cpfSolicitante);
                    
                    preparedStatement.executeUpdate();
                                            
            	preparedStatement.close();

ERRO QUE PERSISTE:

Syntax error or access violation, message from server: "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPTADE PessoasSET cpf = [telefone removido], nome = ‘PIA’, sobrenome = "

B

Procure dar um espaço depois de cada linha… pois do jeito que está a concatenação vai juntar tudo… por exemplo a primeira com a segunda linha ficará:UPTADE PessoasSET cpf = ?, nome = ... o que vai gerar erro, depois vc esqueceu de incluir o ‘?’ no ultimo parametro, o cpf, e o estava setando…

J

“Joelsoncl”:
preparedStatement = connection.prepareStatement(
“UPTADE Pessoas” +

E UPDATE está escrito errado.

J

Po galera, sequelei 2 vezes legal…
Na primeira vez, eu coloquei UPDATE escrito certo, mas concatenei errado.
Na segunda, coloquei o UPDATE escrito errado mas concatenei certo.
huauhauhauhauha

Mas VALEU!!!
Brigadão!!!

Criado 5 de março de 2007
Ultima resposta 5 de mar. de 2007
Respostas 5
Participantes 3