PreparedStatementpstmt=connection().prepareStatement("SELECT * FROM tabInfo WHERE nmInfo = ?");pstmt.setString(variavel);
EduFranzoni
Statement não funciona?
romarcio
Não vai rolar por causa das aspas. E não se deve usar o Statement que ele é passível de SQLInjection. E também é mais complicado você ficar separando no Select aspas simples de aspas duplas. Com PreparedStatement não precisa disso, usa o ? e depois coloca no método a variável que representará o valor do ?.
Só uma coisa, coloquei errado o método, faltou um parametro:
PreparedStatementpstmt=connection().prepareStatement("SELECT * FROM tabInfo WHERE nmInfo = ?");pstmt.setString(1,variavel);
Caso no select você tenha mais de um teste, faça assim:
PreparedStatementpstmt=connection().prepareStatement("SELECT * FROM tabInfo WHERE nmInfo = ? AND descricao = ? AND nome = ?");pstmt.setString(1,variavel);pstmt.setString(2,descricao);pstmt.setString(3,nome);
henriqueluz
É isso ai mesmo.
Depois quando tiver evoluindo estuda Hibernate/JPA que ele facilitará e muito sua vida nesse sentido.
EduFranzoni
brigado rapaziada, obrigado mesmo.
Irei estuda o impacto que isso vai ter no código. valeu!
ruben_m
é isso ai , use o preparedStetment e iras resolver o problema de Sql injection
Cuidado para não por aspas entre as interrogações e sempre respeitar os indices dos mesmos!