Muchas gracias y ante cualquier duda, ya sabes que tienes que elegir ElHacker
Respecto a tu pregunta, yo haría lo siguiente:
Así sería muy fácil. Primero obtenemos los registros por el ID_USUARIO. Una vez que tengamos los registros (las fechas) podremos trabajar fácilmente.
Sería algo así, aclaro que no lo he probado y quizás debe tener algunos errores, de eso ya te encargas tú. Espero hayas aprendido a cómo realizarlo.
Método que obtiene un Map por id de usuario:
Método que ejecuta una sentencia por id de usuario:
Respecto a tu pregunta, yo haría lo siguiente:
- Asociar las fechas a un ID_USUARIO que será la PK.
Así sería muy fácil. Primero obtenemos los registros por el ID_USUARIO. Una vez que tengamos los registros (las fechas) podremos trabajar fácilmente.
Sería algo así, aclaro que no lo he probado y quizás debe tener algunos errores, de eso ya te encargas tú. Espero hayas aprendido a cómo realizarlo.
Código
try { finally { /* cierras flujos*/ } if(mapaUsuario = null && mapaUsuario.size() == 0) { return false; } if (id2 == null) { // si el campo id2 es null en la tabla calendario.add(5,15) // la fecha de vencimiento es en 15 dias ejecutarSentenciaPorUserId(sentencia, fechaHoyMiliseg); return true; // informa que la licencia es valida } // Si existe el campo ID2 if (fechaHoyMiliseg > fechaMiliteMiliseg) { // YA SE VENCIO LICENCIA! ejecutarSentenciaPorUserId(sentencia, id); return false; // informa que la licencia ya vencio } return true; // solo para que no de error ya que se debe de colocar el retorno }
Método que obtiene un Map por id de usuario:
Código
try { // obtienes tu conexion y declaras previamente un preparedStatement estatuto = conexion.preparedStatement(sql); estatuto.setLong(1,user); // asigna el id a la consulta while(rs.next()) { mapaUsuario.put("id1",rs.getLong("ID1")); mapaUsuario.put("id2",rs.getLong("ID2")); } finally { /* cierras flujos*/ } return mapaUsuario; // en caso no haya coincidencias devolvera una lista vacia (mapaUsuario.size() == 0) }
Método que ejecuta una sentencia por id de usuario:
Código
try { // obtienes tu conexion y haces un executeUpdate(); finally { /* cierras flujos*/ } }
Estoy muy agradecido mitsu. Voy a implementarlo y te cuento