Java.sql.SQLException:Erro de sintaxe (operador faltando) na expressão de consulta

3 respostas
Lan

:smiley: Olá pessoal, passei a tarde fazendo vários testes. Mas agora só me resta recorrer ao fórum.
Tenho uma tabela e consigo inserir, consultar tando pelo campo int como pelo campo String, mas somente consigo fazer um update pelo campo int. Não consegui de nenhuma forma fazer um update pelo campo String.
Segue parte do código.

comando = “update Tb_Pessoas set "
+ “ra=’”
+ p.getRa() +”’"
+ “, cod_posto=’”
+ p.getCod_Posto() + “’”
+ “, cp=’”
+ p.getCp() + “’”
+ “, dig=’”
+ p.getDig() + “’”
+ “, csitua=’”
+ p.getCsitua() + “’”
+ “, cidade=’”
+ p.getCidade() + “’”
+ “, uf=’”
+ p.getUf() + “’”
+ " WHERE nome = " + p.getNome() + “”;

Se eu trocar pelo ra funciona direitinho.

Por favor preciso da ajuda de vocês, Obrigada

3 Respostas

rsakurai

Todos os campos são textos? Porque normalmente colocamos as aspas simples ’ quando queremos informar que o valor é um texto.

No where use o LIKE para comparar textos e coloque aspas simples em volta do valor do nome.

comando = "update Tb_Pessoas set  ra='" + p.getRa() +"', cod_posto='" + p.getCod_Posto() + "', cp='" + p.getCp() + "', dig='" + p.getDig() + "', csitua='" + p.getCsitua() + "', cidade='" + p.getCidade() + "', uf='" + p.getUf() + "' WHERE nome LIKE '" + p.getNome() + "'";
Lan

Não, tenho dois campos int, o cod_posto e o ra.

Mas fiz o que você indicou e deu certo. :lol:

Obrigaga,

Valeu mesmo campeão!

marcelo.silva

Cara, faça bind para n ser alvo de injeções sql

Criado 27 de março de 2011
Ultima resposta 27 de mar. de 2011
Respostas 3
Participantes 3