Visual C++ .NET - Fechas

 
Vista:

Fechas

Publicado por JP (2 intervenciones) el 02/08/2010 07:42:02
Hola todos.

Tengo una duda, que aunque no pertenece del todo a este tema, creo que es general sin importar el lenguaje de programación ni el motor de bases de datos.

Estoy desarrollando una aplicación en Visual Basic .NET y MySQL, en la cual utilizo mucho la fecha del sistema, cada que se guarda algun dato necesito guardar la fecha, entonces tomo la del sistema.

¿Hay alguna forma de evitar grabar fechas erroneas? es decir si cambian la fecha del sistema antes o durante la ejecucion del programa esto me generaria varios errores al hacer unos calculos despues.

Como se puede controlar si graban un dato con la fecha actual, 2 de agosto de 2010, y despues cambian la fecha del sistema a 10 de septiembre de 2011 y graban de nuevo?

Crei tener la solucion utilizando la fecha desde MYSQL y no desde Visual Basic, pero me di cuenta que MYSQL utiliza igualmente la fecha del sistema.

Espero que me entiendan la duda y que me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Control de fechas para evitar errores en la aplicación

Publicado por Alejandro (265 intervenciones) el 08/02/2024 23:54:07
¡Hola, JP!

Entiendo tu preocupación sobre evitar grabar fechas incorrectas en tu aplicación. Para abordar este problema, puedes considerar las siguientes estrategias:

1. Utilizar la fecha del servidor de base de datos:
Como mencionaste, puedes optar por utilizar la función de fecha del servidor de MySQL. Esto asegura que la fecha almacenada sea consistente independientemente de la configuración del sistema local. Puedes obtener la fecha del servidor directamente en tus consultas de MySQL utilizando algo como `NOW()`.

1
INSERT INTO tu_tabla (campo_fecha) VALUES (NOW());

Esto garantiza que la fecha se registre basada en la hora del servidor MySQL.

2. Fecha de registro en la aplicación:
Si prefieres manejar la fecha en la aplicación, podrías registrar la fecha de cada transacción en una columna específica en tu base de datos. De esta manera, siempre tendrás un registro de la fecha en que se realizó la transacción.

3. Validación en la aplicación:
Puedes implementar una validación en tu aplicación que compare la fecha actual del sistema con la fecha registrada en la base de datos. Si hay una discrepancia significativa, podrías notificar al usuario o evitar que realice ciertas acciones.

1
2
3
4
5
6
7
8
Dim fechaRegistro As DateTime = ObtenerFechaRegistroDesdeBaseDeDatos() ' Implementa esta función según tu lógica
Dim fechaActual As DateTime = DateTime.Now
 
' Validación: Si la diferencia es mayor a un cierto límite
If (Math.Abs((fechaActual - fechaRegistro).TotalMinutes) > LIMITE_MINUTOS) Then
    MessageBox.Show("Fecha del sistema modificada. Acción no permitida.")
    ' Realizar acciones correspondientes, como deshabilitar ciertas funcionalidades
End If

Ajusta el límite según tus necesidades y tolerancia para las discrepancias en la fecha.

Estas son algunas sugerencias generales que puedes considerar para evitar problemas relacionados con cambios en la fecha del sistema. El enfoque específico dependerá de tus requisitos y preferencias en cuanto a la manipulación de fechas en tu aplicación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar