StringBuffer

9 respostas
rocha
Galera isso é correto fazer?
protected StringBuffer qry = new StringBuffer();

if (!"".equals(cnpj))
     qry.append("AND cnpj LIKE '" + cnpj + "'");

qry.append("SELECT tc.* FROM tblcliente tc where tc.idcliente = tc.idcliente " + qry.toString() +"order by nome");

Valeu....

Rocha 8)

9 Respostas

jgbt

assim acho que fica melhor:

protected StringBuffer qry = new StringBuffer();
 qry.append("SELECT tc.* FROM tblcliente tc where tc.idcliente = tc.idcliente "  
 if (!"".equals(cnpj))
      qry.append("AND cnpj LIKE '" + cnpj + "'");
 
+ qry.toString() +"order by nome");

[]'s

cv1

Ai o maneh coloca um CPF assim oh:

; DELETE FROM tblcliente --

E voce vai passar o dia preferindo ter acordado com uma caganeira.

USE PREPAREDSTATEMENT!

rocha

cv:
Ai o maneh coloca um CPF assim oh:

; DELETE FROM tblcliente --

E voce vai passar o dia preferindo ter acordado com uma caganeira.

USE PREPAREDSTATEMENT!

Não entendi nada

TedLoprao

Rocha, isso q o cv demonstrou se chama sql injection, o q aconteceria é q seriam executados dois comandos:

SELECT tc.* FROM tblcliente tc where tc.idcliente = tc.idcliente AND cnpj LIKE '';
DELETE FROM tblcliente --' order by nome

Pronto, todos seus dados iriam para o brejo, hehehe

Com prepared statement isso não acontece!

Fallow

danieldestro

Faz assim ó:

String sql = "SELECT A, B, C FROM XYZ WHERE K = ?"; PreparedStatement ps = conn.prepareStatement( sql ); ps.setString( 1, "ALGUM VALOR" );

rocha

danieldestro:
Faz assim ó:

ps.setString( 1, “ALGUM VALOR” );

O q seria isso

rocha

Vcs teriam alguma classe pequena de exemplo usando isso para mim dar uma olhada

jgbt

tente aqui:
http://www.javaalmanac.com/cgi-bin/search/find.pl?words=PreparedStatement
ou leia as docs no site da sun… ta tudo la!
[]'s

danieldestro

Para saber mais, leia isso: http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html

Criado 11 de março de 2005
Ultima resposta 11 de mar. de 2005
Respostas 9
Participantes 5