Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

Borrar este aviso
El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Problema con fechas MySQl y Gb3
#1

Hola,

Buenas a todos.

Llevo años usando gambas y ahora por falta de espacio me veo en la necesidad de cambiar el ordenador donde tengo la base de datos y me encuentro con un problema que me tiene loco porque no encuentro la solucion.

El programa hasta ahora estaba funcionando bien con Ubuntu lxde 14.04 y Gambas 3.4.2 y xampp 1.8.1, pero en el nuevo equipo tengo lubuntu 18.04.1 lts, y gambas 3.15, y al leer o escribir una fecha en la base de datos siempre me resta una dia.

Es decir si leo un albaran que he creado hoy, me dice que es de ayer, aunque si voy a la base de datos veo que en la base de datos esta la fecha correcta, e incluso si lo consulto desde el terminal me da las fechas correctamente, osea que el problema parece que es que el gambas por alguna razon cambia esa fecha.

Os agradeceria si teneis alguna pista para ayudarme, pues he revisado todo y no veo por donde cogerlo.
Parece que el gambas crea que la bd tiene una fecha diferente y la convierta por su cuenta.

Ademas uso los datachooser de gambas y tampoco van bien. Si selecciono el dia 2 me pone el dia 1 en el campo de texto.

He probado con diferentes versiones de gambas y ubuntu y todo lo que sea mas nuevo del ubuntu 14.04 y gambas 3.4 me da el problema igual.
#2

Hola, tiene pinta de ser un error.
Al no tener un ejemplo o un fragmento de código de tu programa para ver como envías, recuperas y muestras los datos no podemos hacer mucho, me temo.
Algunas cosas que puedes comprobar.
  • Fecha de la computadora ne el setup y en el sistema (con date por ejemplo) que corre gambas, y de la que corre la base de datos.
  • Probar hacer alguna operación con un motor diferente, sqlite seria ideal. si lo de las fechas sigue mal el que produce el error es gambas  caso contrario puede ser el servidor mysql
  • Crear un programa sencillo y rudimentario para comprobar el funcionamiento en el muevo entorno.
Saludos.
#3

Revisa la zona horaria de tu PC, puede que aunque tengas la hora correcta, esté tomando la hora de otra zona horaria.

Hay un setting en Linux que se llama "locale". Revísalo y nos cuentas qué has averiguado. Te dejo un enlace con más información:

https://www.tecmint.com/set-system-locales-in-linux/

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
#4

En principio las zonas horarias estan bien.
Con el mismo c si uso ubuntu 14.04 y gambas3.4 funciona perfectamente.

Hare un programa sencillo en gambas que lea la fecha a ver que pasa.

Tambien mirare eso del locale

Gracias
#5

(02-09-2020, 19:06)eperezat escribió:  En principio las zonas horarias estan bien.
Con el mismo c si uso ubuntu 14.04 y gambas3.4 funciona perfectamente.

Hare un programa sencillo en gambas que lea la fecha a ver que pasa.

Tambien mirare eso del locale

Gracias

Una duda has intentado instalar la versión de Gambas 3.4.2 a lo mejor se te resuelve todo.
#6

Lo del locale parece estar bien, el time esta en es_ES.UTF-8.

He creado una sencilla aplicacion con un campo de text y un datechooser y cuando selecciono el datachooser el dia que me pne en el campo de texto es uno menos.
Es raro raro.

El codigo es bien sencillo

Public Sub DateChooser1_Change()

   TextBox1.Text = DateChooser1.Value

End

Clicko en el dia 4 de septiembre del datechooser y me pone en el campo de texto el dia 3 Cry
#7

eperezat tenes razón, el datechoser devuelve una fecha errónea. En mi caso seleccione el día 8 y pone el 7.
Hice un ejemplo que se puede descargar para que fácilmente el que lo desee pueda comprobar el funcionamiento y decirnos el resultado.
Ya di el aviso en bugtracker de gambas.
[Imagen: flUGZ0G.png]
Saludos.


Archivos adjuntos
.gz ejemplo-datechooser-0.0.2.tar.gz Tamaño: 11.52 KB  Descargas: 0
#8

Bueno, luego de recibir iluminación externa la cual me mostró que no hay error en el control Datechoser sino en el tratamiento de los datos que este proporciona.
DateChoser en realidad devuelve un único número que hay que decodificar, aquí un ejemplo.
TextBox1.Text = Format(DateChooser1.Value, "yyyy.mm.dd")
Format permite extraer los datos correctamente es decir el Año el mes y el día.
Creo que con esto el tema queda SOLUCIONADO.
Saludos.
#9

(08-09-2020, 12:01)tincho escribió:  Bueno, luego de recibir iluminación externa la cual me mostró que no hay error en el control Datechoser sino en el tratamiento de los datos que este proporciona.
DateChoser en realidad devuelve un único número que hay que decodificar, aquí un ejemplo.
TextBox1.Text = Format(DateChooser1.Value, "yyyy.mm.dd")
Format permite extraer los datos correctamente es decir el Año el mes y el día.
Creo que con esto el tema queda SOLUCIONADO.
Saludos.

Muy interesante, gracias.
#10

Si esa es la solucion.

Yo mas o menos lo he solucionado ya.
Digo mas o menos porque en mi programa hay cientos de escrituras lecturas y usos de fechas y no es tan sencillo.
Pero a medida que me van saliendo los errores los voy solucionando.

De todas formas sigo sin entender porque antes con gambas 3.4.2 y ubuntu 14.04 funcionaba bien.
Supongo que era un uso incorrecto que con las versiones posteriores arreglaron.


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)