Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2010, 14:23
sonhja
 
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 ^^