Tema: JAVA y SQL
Ver Mensaje Individual
  #21 (permalink)  
Antiguo 30/11/2005, 13:11
Avatar de goncafa
goncafa
 
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 22 años, 6 meses
Puntos: 10
Utiliza sentencias SQL precompiladas con PreparedStatement, con eso te olvidas de las comillas y todo eso, la API JDBC se encarga de ahcerlo por ti, y de acuerdo al motor de base de datos que usas, pues no en todos se escapan los caracteres especiales de igual manera.

por ejemplo, si tienes esto.
Código PHP:
String nombre "O'rian";
String sql "INSERT INTO TABLA (NOMBRE) VALUES ('" nombre "')";
con.createStatement().execute(sql); 
Ese codigo te daria error por que O'rian tiene una comilla simple y la sentencia SQL se hecharia a perder, por ende, deberias escapas esa comilla o reemplazarla por otro caracter. Sin embargo si usas sentencia precompiladas como esta.

Código PHP:
String nombre "O'rian";
String sql "INSERT INTO TABLA (NOMBRE) VALUES (?)";
PreparedStatement pstm con.preparedStatement(sql);
pstm.insertString(1nombre);
pstm.execute(); 
Ese codigo no dara ningun problema, es la API JDBC quien se encarga de todo el trabajo duro y te olvidas de los caracteres de escape.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo