Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Resultset no me funciona...

Estas en el tema de Resultset no me funciona... en el foro de Mysql en Foros del Web. Hola, después de navegar un poco por el foro, he visto que hay gente que tiene el mismo problema que yo, pero no he visto ...
  #1 (permalink)  
Antiguo 15/02/2010, 14:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Resultset no me funciona...

Hola, después de navegar un poco por el foro, he visto que hay gente que tiene el mismo problema que yo, pero no he visto o no he encontrado la solución. Mi problema es que, al ejecutar un resultset, no soy capaz de acceder a sus campos. Tengo el siguiente código:

public paciente encontrarPorSip(String sip)
{
paciente p = new paciente();
try
{
boolean encontrado = false;
rs = stm.executeQuery("SELECT sip FROM paciente;");

while (rs.next() && !encontrado)
{
System.out.println(rs.getString(1));
System.out.println("Sip: " +sip);
if (rs.getString(1).compareTo(sip) == 0)
{
encontrado = true;
}
}
if (encontrado)
{
System.out.println("Lo hemos encontrado.");
rs = stm.executeQuery("SELECT * FROM paciente WHERE sip = '" + sip + "';");
p.setNIF(rs.getString("nif"));
}
}
catch (SQLException e)
{
System.out.println("Error al buscar por Sip.");
}

return p;
}

Que básicamente lo que hace es devolver todos los datos del paciente que encontremos (sólo he puesto el NIF aquí, por no hacerlo largo de leer). El problema está en que el rs.getString("nif") me salta a la excepción de SQL y no hay manera que me devuelva ese campo. Lo he probado poniendo en mayúsculas también porque lo había visto por ahí (no por eso pensaba que fuera la solución), pero sigue sin funcionar. ¿Alguien sabe por qué puede ser? Sé que sí encuentra los datos porque he realizado pruebas, y el resultSet debería tener todos los datos del paciente, pero no consigo extraerlos.

Muchas gracias por vuestra ayuda de antemano ^^
  #2 (permalink)  
Antiguo 15/02/2010, 14:36
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Resultset no me funciona...

Bueno, ya me lo he solucionado xDDD Por si a alguien le sirve, aunque no sé muy bien por qué es, pero he investigado y he puesto la siguiente línea difernte (la subrayo):
public paciente encontrarPorSip(String sip)
{
paciente p = new paciente();
try
{
boolean encontrado = false;
rs = stm.executeQuery("SELECT sip FROM paciente;");

while (rs.next() && !encontrado)
{
System.out.println(rs.getString(1));
System.out.println("Sip: " +sip);
if (rs.getString(1).compareTo(sip) == 0)
{
encontrado = true;
}
}
if (encontrado)
{
System.out.println("Lo hemos encontrado.");
rs = stm.executeQuery("SELECT * FROM paciente WHERE sip = " + sip + ";");
rs.next();
p.setNIF(rs.getString("nif"));
p.setNombre(rs.getString("nombre"));
p.setClave(rs.getString("clave"));
p.setFecha(rs.getString("fecha_nac"));
p.setApellidos(rs.getString("apellidos"));
p.setDirecFam(rs.getString("direccion_fam"));
p.setProvFam(rs.getString("provincia_fam"));
p.setLocalFam(rs.getString("localidad_fam"));
p.setDirAct(rs.getString("direccion_act"));
p.setProvAct(rs.getString("provincia_act"));
p.setLocalAct(rs.getString("localidad_act"));
p.setEmail(rs.getString("email"));
p.setCSalud(rs.getString("csalud_asig"));
p.setHospital(rs.getString("hospital_asignado"));

}
}
catch (SQLException e)
{
System.out.println("Error al buscar por Sip.");
}

return p;
}

No sé muy bien por qué, pero con esto ya funciona todo a la perfección ^^
  #3 (permalink)  
Antiguo 15/02/2010, 14:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Resultset no me funciona...

Muy interesante, Sonhja, pero estás posteando en el sitio equivocado. En este foro el tema es SQL, y MYSQ específicamente. No se permite poner código de programación (reglas del foro)

Para que sea mas comprensible: Tu problema era de programación en VB, pero no de SQL ni de bases de datos. No tenías ningún problema con el funcionamiento de la base, sino con los objetos de C/C++/C#.

Y para esos temas hay un foro específico (Programacion)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 23:44.