filtro = " Where"""+combo+"=""+tfFiltrar.getText()+""";
eu quero fazer a variavel filtro receber o seginte codigo sql.
mas as " (aspas) e as barras() estao erradas.
alguem poderia me dar uma dica.
vlw
Sintaxe errada de sql no codigo java
7 Respostas
da um olhada neste tutotial.
jah li em outras oportunidades esse tutorial.
mas nao me acostumei com a ideia,
e to comecando no java…
dai quero tentar insistir na maneira tradicional.
mas obrigd.
Eu diria pra vc usar PreparedStatement num primeiro momento.
Não entedi o motivo das barras…
Quanto as aspas…Use aspas simples.
String sql = " select * from " + TABLE_NAME + " where " + FIELD_NAME + " = ' " + seuParametro + " ' ";
o resultado será tipo: select * from cliente where nome = ‘Bill Gates’
Cuidado com os espaços também…
O ruim dessa abordagem é que, concatenando strings para formar um SQL vc tem que escapar um monte de coisa. Uma aspa digitada pelo cliente e babau. E vc fica vulnerável a SQL injection. Existe PreparedStatement pra ajudar nesses casos.
http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html
Claro… Mas foi isso que ele pediu e reforçou a intenção de trabalhar dessa forma.
vlw!