Foros del Web » Programación para mayores de 30 ;) » Java »

for input string " "

Estas en el tema de for input string " " en el foro de Java en Foros del Web. El problema es el siguiente ...necesito capturar un valor que paso por parametros de forma que sea el correspondiente a un id en mi BD. ...
  #1 (permalink)  
Antiguo 17/12/2009, 09:27
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
for input string " "

El problema es el siguiente ...necesito capturar un valor que paso por parametros de forma que sea el correspondiente a un id en mi BD. El valor pasado es un string sin embargo necesito su int id , por ejemplo paso el nombre de una persona y deseo capturar su id(el que tengo enla BD). El problema esta en que cuando lo hago me sale el siguiente error : for input string " " y dentro de las comillas me saca el nombre que pase . Y se rompe el program en la siguiente parte correspondiente a mi servlet

int idPerson= Integer.parseInt(request.getParameter("idP"));
  #2 (permalink)  
Antiguo 17/12/2009, 09:43
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: for input string " "

Hola

Si te refieres a que tu id es un nombre, letra y número, no se podra convertir a int porque no es un número propiamente.

Si quieres convertirlo a int, el id tendría que ser número. Algo que se me ocurre para solucionar esto es convertir cada caracter del id a byte (representación numérica en código ASCII) y ahora sí convertirlo a int. Para mostrarlo tendrías que hacer el proceso inverso aunque demasiado tedioso.

Platica más acerca de qué es lo que quieres hacer, no escatimes en explicación porque de eso depende la ayuda que se pueda proporcionarte.
  #3 (permalink)  
Antiguo 17/12/2009, 10:41
Avatar de cptanalatriste  
Fecha de Ingreso: octubre-2008
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: for input string " "

Ese error se produce en Integer.parseInt, e indica que no se puede obtener un entero (int) en base a una cadena vacía. ¿Estás seguro que envías el parámetro "idP"? Porque al parecer la sentencia request.getParameter("idP") nos devuelve la cadena vacía que produce el error.

Espero sea de ayuda.
__________________
Carlos G. Gavidia
Sun Certified Professional
IBM Certified Solution Designer
http://certified-es.blogspot.com/
  #4 (permalink)  
Antiguo 17/12/2009, 11:45
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: for input string " "

cptanalatriste

Si , yo envio el dato y este es el que me sale dentro de " " . Me sale justamente asi el error
for input string " carlos " , por lo que entiendo que si esta cogiendo el parametro que le paso que en este caso es carlos.
Gracias
  #5 (permalink)  
Antiguo 17/12/2009, 12:25
Avatar de Wayern  
Fecha de Ingreso: septiembre-2008
Ubicación: Aguascalientes
Mensajes: 65
Antigüedad: 15 años, 7 meses
Puntos: 4
Exclamación Respuesta: for input string " "

Hola... al imprimir en consola el request.getParameter("idP") que te sale?
Me refiero a algo como esto:
Código:
System.out.println("idP:"+request.getParameter("idP")+"*");
Ejecuta la línea antes de parsear el contenido y nos dices que te sale.
Saludos.
  #6 (permalink)  
Antiguo 17/12/2009, 14:18
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Respuesta: for input string " "

Hola W:
La verdad es que el ejercicio que estoy haciendo lo estoy haciendo web no en consola, al parecer el problema anterior se ha solucionado , ahora el error que me da es otro. Yo soy principiante en java asi que mis disculpas si no me hago entender bien.
Yo quiero prestar un libro a un cliente, para ello paso por parametros un nombre de cliente y un titulo de libro del cual necesito recoger el id(este lo obtengo con el metodo DevolverIdLibro (aqui es donde la onsulta me da bateo))

el metodo prestar es el siguiente:

public static void PrestarLibro(String nombre,ResultSet idLibro) throws SQLException, Exception {
String query=("update cliente set idLibro= '"+ idLibro +"' where nombre="+ nombre);
getConection().createStatement().execute(query);
}

El problema esta aqui (Servlet) , cuando llega a ResultSet r = AccesoDatos.DevolverIdLibro(nameLibro) se parte en el metodo DevolverIdLibro y el error me dice que no encuentra la columna XXX... donde xxx es el titulo del libro que pase por parametros.

.....
else if(action.equals("prestar_libro") )
{
String nameLibro= request.getParameter("nameLibro");
ResultSet r = AccesoDatos.DevolverIdLibro(nameLibro);
String nombreC= request.getParameter("cliente");

DAO.AccesoDatos.PrestarLibro(nombreC, r);
response.sendRedirect("Inicio.jsp");

}
else
response.sendRedirect("Inicio.jsp");


Metodo DevolverIdLibro

public static ResultSet DevolverIdLibro(String titulo) throws SQLException, Exception {
String query=("select idLibro from libro where titulo="+titulo);
return getConection().createStatement().executeQuery(quer y);
}

Última edición por yakima; 17/12/2009 a las 14:28
  #7 (permalink)  
Antiguo 17/12/2009, 14:24
Avatar de Wayern  
Fecha de Ingreso: septiembre-2008
Ubicación: Aguascalientes
Mensajes: 65
Antigüedad: 15 años, 7 meses
Puntos: 4
Exclamación Respuesta: for input string " "

¿Podrías escribir este método?
"AccesoDatos.DevolverIdLibro(nameLibro)"
Solo para ver que estás haciendo en él. Saludos.
  #8 (permalink)  
Antiguo 17/12/2009, 14:35
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: for input string " "

W.
es el que pongo al final ..ahi va de nuevo...Vi que tenia problema con unas comillitas pero me sigue dandoo bateo ahi..Saludos

Metodo DevolverIdLibro

public static ResultSet DevolverIdLibro(String titulo) throws SQLException, Exception {
String query=("select idLibro from libro where titulo="+titulo);
return getConection().createStatement().executeQuery(quer y);
}

me dice esto
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

se las pongo y me da y se las quito y me da tambien..ajajja
  #9 (permalink)  
Antiguo 18/12/2009, 06:43
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: for input string " "

Vale, creo que sé lo que te ocurre.

String query=("select idLibro from libro where titulo='"+titulo +"'");

Es decir, tienes que encerrar la variable título entre las comillas simples en la query para que se reconozca que le envias un string.
  #10 (permalink)  
Antiguo 18/12/2009, 07:13
 
Fecha de Ingreso: diciembre-2009
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: for input string " "

Hola Fuzzylog:
Efectivamente el problema estaba ahi mismo, acabo de probar y ya no me da el error.
Muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:14.