problema con campos fecha vacias usando mysql

1,649 views
Skip to first unread message

Marcelo Barberis

unread,
Jan 30, 2019, 1:57:33 PM1/30/19
to publicesvfoxpro
Hola buenas tardes, desde hace un tiempo atras me esta sucediendo que al momento de guardar me salta un error "incorrect date value for colum fecha_limite at row 1" usando mysql
Bueno el campo es fecha_limite Tipo Date 0000-00-00
Lo que quiero es que cuando sea fecha vacia me lo guarde con el formato que lo configure 0000-00-00 no como 1900-01-01 que este este ultimo caso no seria una fecha vacia.

Alguien puede orientarme como soluciono este problema que hace dias me esta dando problema, lo que pude solucionar es algo momentaneo, resulta que cuando el sistema se inicia por primera vez y creo un movimiento por ej una factura y le doy guardar me salta el error porque dentro del guardar esta este campo que le paso como vacio fecha_limite={//}
pero si reinicio el sistema es decir el programa no el SO el error no salta, solo salta cuando es por primera vez, pero reniciando nuevamente el error no salta.

Consulta si alguien puede darme un comentario al respecto o alguna solucion para no tener que reiniciar dos veces el sistema para que no salte el error Incorrect date value

Desde ya gracias por cualquier comentario


--
Marcelo Barberis Gutierrez
Sistemas Informaticos
Villa Montes - Bolivia
Telef.: +591-76830544

Marcelo Barberis

unread,
Jan 30, 2019, 2:02:03 PM1/30/19
to publicesvfoxpro
hace un tiempo atras alguien me paso un codigo para poder ejecutar una sesion sin restricciones para tipo date pero parece que no esta dando resultado ahora porque como dije en mi mensaje anterior me da problema con fecha vacias
me pasaron esto y me dijeron que ya no tendria problema alguno con las fechas vacias

'SET @@global.sql_mode = "";'
'SET @@SESSION.sql_mode = "";'

pero como dije en esta ocasion no me esta dando resultado

Germán Fabricio Valdez

unread,
Jan 30, 2019, 2:45:57 PM1/30/19
to Comunidad de Visual Foxpro en Español
estuve viendo en la ayuda de mysql

y dice esto, creo que hay que marcar como que acepta campos nulos en los campos fecha de mysql, proba

La fecha cero " especial '0000-00-00'puede almacenarse y recuperarse como. '0000-00-00'.Cuando '0000-00-00'se usa unafecha a través del Conector / ODBC, se convierte automáticamente NULLporque ODBC no puede manejar ese tipo de fecha.

Debido a que MySQL realiza las conversiones que se acaban de describir, las siguientes declaraciones funcionan (suponiendo queidatees una DATEcolumna):

INSERT INTO t1 (idate) VALUES (19970505); INSERT INTO t1 (idate) VALUES ('19970505'); INSERT INTO t1 (idate) VALUES ('97-05-05'); INSERT INTO t1 (idate) VALUES ('1997.05.05'); INSERT INTO t1 (idate) VALUES ('1997 05 05'); INSERT INTO t1 (idate) VALUES ('0000-00-00'); SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD(idate,100) FROM t1 WHERE idate >= 19970505; 
SELECT idate FROM t1 WHERE idate >= '19970505'; 

Irwin Rodriguez

unread,
Jan 30, 2019, 2:54:25 PM1/30/19
to publice...@googlegroups.com
Yo no recomiendo usar el contenido '0000-00-00' para almacenar fechas vacías porque simplemente una fecha vacía no existe. Lo más recomendable es hacer que el campo acepte valores NULL y desde Fox se comprueba con NVL().

Saludes
--
Irwin Rodríguez
Analista Programador

+593 0994903424
Latacunga - Ecuador
"Un equipo solo son piezas que intercambias hasta que terminas el trabajo, es eficiente, funciona."
Reply all
Reply to author
Forward
0 new messages