El pueblo no debería temer al gobierno, el gobierno debería temer al pueblo
V, en V de Vendetta

[SQL] - Formatear los datos

El formato de los datos de entrada puede provocar fallos al ejecutar la sentencia SQL. Por ejemplo 

SELECT * FROM MOVIES WHERE TITLE='McHale's Navy'

El apóstrofo de McHale's hace que la sentencia SQL provoque un error al intentar ejecutarla, ya que se interpretará como cierre de comillas.

La solución, utilizando Hibernate o iBATIS no tendremos estos problemas. Tampoco si utilizamos PreparedStatement. Pero en ocasiones (desgraciadamente) debemos construir la sentencia dinámicamente. En cuyo caso podemos utilizar el método estático escapeSql de la clase StringEscapeUtils, incluido en la librería common-lang.jar que podemos encontrar en el sitio web de apache. Un ejemplo de uso:

statement.executeQuery("SELECT * FROM MOVIES WHERE TITLE='" +StringEscapeUtils.escapeSql("McHale's Navy") + "'");

Gracias a Carlos por la ayuda tan rápida sobre el tema.

Dejanos tu Comentario

Nombre: (Requerido)

E-Mail: (Requerido)

Sitio WEB:

Comentario: