claro ,
pon le cuidado que si tu insertas en el jtextfield:
,
la sentencia queda:
Código:
select * from tabla where columna = 'hola'como'estas'
toda una locura, eso lo solucionas con:
"select * from tabla where columna like ' " +p.replace("'","''")+" ' ")
o limitando los caracteres permitidos para el jtextfield con la clase:
Código:
public class LimCaracteres extends PlainDocument {
private JTextField editor;
public LimCaracteres(JTextField editor)
{
this.editor=editor;
}
public void insertString(int arg0, String arg1, AttributeSet arg2) throws BadLocationException
{
boolean cumple = false;
int ascii = arg1.charAt(0);
// los caracteres que permito yo solo son los mas utilizados en escritura y que no //son peligrosos para consultas sql (no verificado :P)
if ((ascii > 63 && ascii < 92) || (ascii > 96 && ascii < 124) || ascii == 125 || ascii == 249 || ascii == 32 || ascii == 40 || ascii == 41 ) {
cumple = true;
} else if ((ascii > 47 && ascii < 63) || (ascii > 42 && ascii < 47) || (ascii > 34 && ascii < 38) || ascii == 93 || ascii == 63 || ascii == 34 ||
(ascii > 127 && ascii < 169)) {
cumple = true;
}
if (!cumple) {
return;
}
super.insertString(arg0, arg1, arg2);
}
}
la utilizaciòn:
Código:
jTextField1.setDocument(new LimCaracteres(jTextField1));
todo esto es bastante amplio pilla lo que se le pues insertar al jTextField1:
jtexfield que pide un nombre:
Código:
"Alicia'; DROP TABLE usuarios; SELECT * FROM datos WHERE nombre LIKE '%"
saludos... :)