Ai Galera blz…
o problema e o seguinte…
Quando vou concatenar um campo de um insert e o campo possui aspas simples acontece um erro na minha query…
insert into TABELA values(’‘TESTE’’);
Acaba que fica com duas aspas simples, ao inves de uma…
Em php tem o stripslashes, que resolveria o problema…
Em java como eu posso resolver…
vlw!!!
Não concatene valores em uma query, use PreparedStatement:
[code]PreparedStatement stmt = conexao.prepareStatement(“insert into TABELA values (?)”);
stmt.setString(1, “TESTE”);
stmt.executeUpdate();[/code]
Bem, eu uso sempre o Statement normal não estou acustumado a usar o PreparedStatement…
Não teria um outro jeito de fazer não???
Dependendo do seu banco é só colocar o valor entre aspas duplas.
Ex.:
[code]Statement stmt = conexao.createStatement();
stmt.executeUpdate(“insert into tabela values(”"+valor+"")");[/code]
Mas você pode ter muitos problemas com Statement como SQL Injection, alem de deixar seu código muito poluído e de dificil entendimento.
Tipo,
De preferencia sempre adicione parametros usando os metodos que o Statement ou o PreparedStatement dispoe.
stm.setLong( numeroNaOrdemDaSQL , objeto.getLong() );
stm.setLong( numeroNaOrdemDaSQL , objeto.getUmaString() );
Sempre de preferencia ao PreparedStatement, porque o banco de dados guarda o plano/caminho que fez para resolver a query. É como se ele guardasse a query em um cache e muda apenas as variáveis, otimizando a consulta, aumentando eficiência, etc.
www.jornaljava.com
http://feeds.feedburner.com/jornaljava