No repetir un registro en MYSQL desde java
Hola, veran tengo una duda estoy haciendo un programa un java con interfaz grafica en el cual guardo un idempleado,la fecha del momento y la hora, pero mi duda es como hago para comparar con mi base de datos y mandar mensaje de que el campo de la hora ya esta lleno en ese dia.
Este es mi codigo para guardar en una tabla llamada registro el idempleado, fecha y hora, esto se ejecuta con un boton, como le hago para que si le vuelvo a dar click me mande el mensaje de que en ese dia en ese campo de hora ya se registro.
try {
java.sql.Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("select idempleado,password from empleado where idempleado='" + idempleado + "' and password='" + password + "' ");
int x = 0;
while (rs.next()) {
x++;
String comando = "insert into registro(idempleado,horaentrada,fecha)" + "values" + "('" + idempleado + "','" + momentoTime + "','" + sqlDate + "')";
try {
java.sql.Statement perro1 = con.createStatement();
stm.executeUpdate(comando);
javax.swing.JOptionPane.showMessageDialog(null, "Registro exitoso");
stm.close();
} catch (java.sql.SQLException e) {
throw new java.lang.RuntimeException(e.getMessage());
}
}
if (x == 0) {
javax.swing.JOptionPane.showMessageDialog(null, "Contraseña o No. Empleado invalido");
}
con.close();
try {
con.close();
} catch (Exception e) {
e.printStackTrace();
throw new java.lang.RuntimeException("error al cerrar");
}
} catch (java.sql.SQLException e) {
throw new java.lang.RuntimeException(e.getMessage());
}
- Inicie sesión o regístrese para enviar comentarios
si horaentrada=momentotime
te refieres a que el mismo empleado lega y se quiere registrar de nuevo. o a que llegue otro otro empleado y que no se pueda regitrar con la misma hora.
por que si es asi deverias de crear en mysql el atributo horaentrada como unique. .
o si es lo rpimero con un
System.out.println("la hora ya a sido aginada");
}
o con un while para que asigne una hora de acuerdo a tu regla
o que permita asiganar esa hora si y solo sihora entrada y momento time son diferentes
String comando = "insert into registro(idempleado,horaentrada,fecha)" + "values" + "('" + idempleado + "','" + momentoTime + "','" + sqlDate + "')";
}