Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/05/2020, 14:01
jonasgv
 
Fecha de Ingreso: julio-2012
Ubicación: Madrid
Mensajes: 95
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: PreparedStatement con parametros: problema con String con numeros

He probado lo de quitar el espacio final, tal y como me indicas, pero sigue diciendome que no hay resultados.
Agrego mas código de mi programa:

Código:
String consulta = "select * from T_USUARIO where nombreUser = ?";
String userName = "JUAN123TEST";

//load the driver class for Oracle
Class.forName(CONN_FACTORY_CLASS_NAME);
Connection miConexion = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);

PreparedStatement ps = miConexion.prepareStatement(consulta);
ps.setString(1, userName);

ResultSet rs = ps.executeQuery();

if(!rs.next()) {
   LOGGER.log(Level.INFO, "Sin resultados.");
} else {
   do{
   //Muestro el resultado de la query por consola
   }while(rs.next());
}
Al final, he visto que el problema viene porque al recuperar la info del campo 'nombreUser', no se por qué le mete muchos espacios a la derecha al mostrarlo en consola.

Lo que he tenido que hacer el modificar la consulta de la siguiente forma:

Código:
String consulta = "select * from T_USUARIO where RTRIM(nombreUser) = ?";
Así ya funciona