el código es iniciar sesión, hay entradas en mi base de datos, mi consulta también funciona bien, pero cada vez que pongo datos válidos o no válidos, solo muestra el correo electrónico o pasa incorrectamente, mi rs.next () simplemente devuelve falso. También verifiqué la conexión jdbc, funciona bien. Usé la base de datos mySql.
package bean; import java.sql.*; public class LoginDao { public static boolean validate(LoginBean bean){ boolean status=false; try{ Connection con=ConnectionProvider.getCon(); PreparedStatement ps=con.prepareStatement("select * from user432 where email=? and pass=?"); ps.setString(1,bean.getEmail()); ps.setString(2, bean.getPass()); ResultSet rs=ps.executeQuery(); status=rs.next(); }catch(Exception e){} return status; } }Lo que me parece es que todo lo que este método pretende hacer es validar la existencia real de un usuario en particular que contiene la dirección de correo electrónico y la contraseña proporcionadas. Es justo, pero usted afirma que siempre se le devuelve falso del método. La razón obvia de eso sería el hecho de que su consulta no encontró resultados; de lo contrario rs.next() sería verdadero .
Bueno, podría ser el corchete adicional al final de su método, pero supongamos que simplemente se equivocó allí al copiar/pegar el código en su publicación.
Sin embargo, podría ser que bean.getEmail() y bean.getPass() no proporcionen lo que crees que es, no lo sé, ya que no podemos ver la clase de bean . Tal vez lo que debería probar es bean.getEmail().toString() y bean.getPass().toString() .
Si su código está produciendo una Excepción real, entonces la está ocultando manteniendo un bloque catch vacío. Existe una gran posibilidad de que se produzca una excepción de algún tipo y, por lo tanto, proporcione un resultado falso de su método, pero nunca sabrá qué es, ya que no tiene nada en el lugar para verlo. Realmente debería tener la excepción como una SQLException en lugar de solo una excepción , pero bueno, ese no es el fin del mundo, y dentro del bloque catch debería al menos poner algo, tal vez: System.out.println("What the....sumthin wrong with ma code!!!"); o incluso mejor: e.printStackTrace(); .
Curioso... ¿el nombre de la tabla de la base de datos es realmente user432 ? ¿O es un nombre de usuario?