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 ^^
