Categorías
database

Java Insertar carácter especial y en la base de datos MySQL

¿Cómo insertar el «lógico y» (&) en la base de datos MySQL?

Puede intentar escapar del carácter «&», pero no funciona.


Estaba tratando de leer todas las cadenas línea por línea desde el archivo txt a la base de datos MySQL. Alguna cadena contiene «&».
Hice lo siguiente:

Statement sta = conn.createStatement();
String sql = "INSERT INTO  `phd`.`School` (`SchoolName` )VALUES ( '"+aLine.trim()+"');";
sta.execute(sql);

Luego intenté escapar «&» usando la clase StringEscapeUtils de Apache’s commons. No funcionó.

En realidad, el problema se puede resolver con la clase PreparedStatement. La declaración preparada no solo puede manejar este problema de escape, sino que también puede ejecutar la declaración de manera eficiente varias veces.

PreparedStatement st = db.conn.prepareStatement("INSERT INTO  `phd`.`School` (`SchoolName` )VALUES ( ?);");
st.setString(1, aLine.trim());
st.executeUpdate();

  Java connect MS SQL Server mediante autenticación de Windows

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *