código dentro do while não executa

Olá, bom dia. Porque este código que está dentro do while não executa?

[code]public void atualiza (Consulta u) throws SQLException {
String data = u.getDataNasc();
String horario = u.getHorario();
java.sql.PreparedStatement stmt = this.connection.prepareStatement(“select * from consulta”);
java.sql.ResultSet rs = stmt.executeQuery();
System.out.println(rs"); // aparece na console do Eclipse
System.out.println(rs.first()); // aparece na console do Eclipse
System.out.println(rs.last()); // aparece na console do Eclipse
System.out.println(rs.getString(“dataNasc”)); // aparece na console do Eclipse

	while (rs.next()){ //daqui prá frente nada aparece na console, mesmo se eu tirar os ifs e deixar só o while com as mensagens para serem impressas
		System.out.println(rs.getString("dataNasc"));
		if (rs.getString("dataNasc") == data){
			System.out.println("A data é iguallllllllllllllllllllllllllllllll");
			rs.close();
			stmt.close();
		} 
		else if (rs.getString("dataNasc") != data){
			System.out.println("A data não é iguallllllllllllllllllllllllllllllll");
	this.session.merge(u);
	rs.close();
	stmt.close();
		}
	}
		
	rs.close();
	stmt.close();
//this.session.merge(u);
}[/code]

As mensagens (system.out…) que estão dentro do while não aparecem na console do Eclipse, mesmo que eu retire os ifs…

Cara já tentou da um print em rs.next() pra ver se ta true essa condição?
Se ele não ta nem entrando no while só pode ser poque algo com o rs.next() não ta satisfazendo a condição.

Ou então coloca:

# while (!rs.next()){ //só pra testar se ta vindo false, dai se der erro voce já sabe o que é o result set e pode ver no debug. System.out.println(rs.getString("dataNasc")); if (rs.getString("dataNasc") == data){ System.out.println("A data é iguallllllllllllllllllllllllllllllll"); rs.close(); stmt.close(); } ...............

Abraço!

         java.sql.ResultSet rs = stmt.executeQuery();  
         System.out.println(rs"); // aparece na console do Eclipse  
         System.out.println(rs.first()); // ===> TIRE ESTA LINHA
         System.out.println(rs.last()); // ===> TIRE ESTA LINHA
         System.out.println(rs.getString("dataNasc")); // ===> TIRE ESTA LINHA
System.out.println(rs.last());

isso ai “posiciona” sua query no fim, ou seja, quando vc da um rs.next(); no seu while, já esta no fim e ele não encontra nada.
Ou retire essa linha como já foi citado, ou antes do while dá um rs.first(), pra ele retornar ao inicio da query.
Abraços