Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Hisoka

Páginas: [1]
1
Mi método para validar el login:

Código: [Seleccionar]
public void validarLogin(Label mensajeLoginLabel, Connection conn, PreparedStatement pst,
TextField usernameTextField, PasswordField enterPasswordField) {
App m = new App();
mysqlConexion.getConexion();

String verificarLogin = "SELECT count(1) from usuario WHERE username = '" + usernameTextField.getText()
+ "'AND password='" + getMD5(enterPasswordField.getText()) + "'";

try {
Statement statement = mysqlConexion.getConexion().createStatement();
// ejecutamos la consulta de verificar login
ResultSet consultaResult = statement.executeQuery(verificarLogin);
// comprobamos por todas las columnas y la consulta nos devuelve 1 y si nos
// devuelve uno
// significa que hay un usuario con ese nombre y contraseña por lo que pasamos a
// cambiar la escena
// al menu de inicio de la aplicacion
while (consultaResult.next()) {
if (consultaResult.getInt(1) == 1) {
m.cambiarEscena("EscenaMain.fxml");
LOG.info("Has iniciado sesion");
} else {
LOG.info("Error al iniciar sesion");
mensajeLoginLabel.setText("Inicio de sesion incorrecto, prueba otra vez");

}
}
} catch (Exception e) {
e.printStackTrace();
e.getCause();
}
}

Este es mi metodo para validar el login cuando me introduzcan los valores en el usernameTextField y en el passwordField compruebo con la base de datos si ese usuario existe, y si existe con

Código: [Seleccionar]
while (consultaResult.next()) {
if (consultaResult.getInt(1) == 1) {
                                        //AQUI COMPRUEBO SI ME DEVUELVE UNA COLUMNA
                                        SIGNIFICA QUE EL USUARIO EXISTE, aqui deberia hacer lo
                                        de usuarioActivo pero no me deja porque no se a que
                                        igualar ese usuarioActivo
m.cambiarEscena("EscenaMain.fxml");
LOG.info("Has iniciado sesion");
} else {
LOG.info("Error al iniciar sesion");
mensajeLoginLabel.setText("Inicio de sesion incorrecto, prueba otra vez");

}
}


2
Si la verdad que me he liado un poco ahi xD, pero lo que no entiendo es como puedo pasar por argumentos el usuario con el que yo he iniciado sesion, es decir, yo inicio sesion con el usuario Alex pero despues donde guardo ese Usuario, para yo acceder a el despues desde el metodo, cabe decir que tengo poca idea de programacion, alomejor es muy facil.

3
Hola Kabuto, al final comprobé con un syso si recibía los datos bien de la base de datos, y correctamente no los recibía. He arreglado el método y ya me muestra los datos en la tableview, pero ahora quiero hacer un método que me muestre el historial de partidas de el usuario con el que he iniciado sesión en la aplicación. Este usuario está en la base de datos y quiero mostrar las partidas que sean solo de ese usuario, pero no sé cómo hacer que ese método me coja el usuario con el que he iniciado sesión.

Código: [Seleccionar]
public List<Partida> getPartida(usuario u) {
List<partida> historial = new ArrayList<Partida>();
Connection con = mysqlConexion.getConexion();

try {
ResultSet rs = con.createStatement().executeQuery("SELECT u.user_id,u.username,p.fecha,p.partida_id,p.tiempo FROM partida p, usuario u WHERE u.user_id= "+u.getUser_id());
while (rs.next()) {
Partida p = new Partida(0, null, 0, 0);
u = new Usuario(0, null);
p.setFecha(rs.getString(1));
p.setPartida_id(rs.getInt(2));
p.setTiempo(rs.getDouble(3));
u.setUsername(rs.getString(4));
u.setUser_id(rs.getInt(5));
p.setU(u);
historial.add(p);

}

} catch (SQLException e) {
e.printStackTrace();
}

return historial;

}

4
Hola Kabuto gracias por responder, he estado leyendo mucho tus mensajes de ayuda de otros juegos tambien, a ver te explico, tengo un metodo que me da todas las partidas de todos los usuarios, para ello hago una consulta SELECT y despues inizializo los valores que me da en una tableview. Adjunto código del metodo getPartidas, pero después en el tableview nunca me los rellena con los datos de la base de datos

Código: [Seleccionar]
public List<Partida> getPartidas() {
ArrayList partidas = new ArrayList();
Connection con = mysqlConexion.getConexion();
try {
ResultSet rs = con.createStatement()
.executeQuery("SELECT * FROM partida p, usuario u WHERE p.user=u.user_id ORDER BY p.tiempo  ");
while (rs.next()) {
Partida p = new Partida(rs.getInt("partida_id"), rs.getString("fecha"), rs.getDouble("tiempo"),
rs.getInt("user_id"));
Usuario u = new Usuario(rs.getInt("user_id"), rs.getString("username"));
p.setU(u);
partidas.add(p);

}

} catch (SQLException e) {
e.printStackTrace();
}

return partidas;

}

5
Hola, ¿alguien me puede echar una mano? Estoy haciendo un proyecto de java en el que tengo un juego y una base de datos, quiero guardar las partidas de ese jugador y que cuando mire su historial de partidas me salga todas las partidas que ha jugado ese usuario con su nombre, me falta implementar ese metodo que supongo que sera en un array, tengo las clases usuario y partida.

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".