jaireltonPJ 18 de jul. de 2007
Não concatene valores em uma query, use PreparedStatement:
PreparedStatement stmt = conexao.prepareStatement("insert into TABELA values (?)");
stmt.setString(1, "TESTE");
stmt.executeUpdate();
SuelmarPJ 18 de jul. de 2007
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???
jaireltonPJ 18 de jul. de 2007
Dependendo do seu banco é só colocar o valor entre aspas duplas.
Ex.:
Statement stmt = conexao.createStatement();
stmt.executeUpdate("insert into tabela values(\""+valor+"\")");
Mas você pode ter muitos problemas com Statement como SQL Injection, alem de deixar seu código muito poluído e de dificil entendimento.
carlosjrcabeloPJ 18 de jul. de 2007
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() );
jornal_javaPJ 19 de jul. de 2007
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