Cambio de formato fecha para mysql

Saludos,
La duda es la siguiente estoy construyendo una aplicación para nomina, usando como gestor de bd a Mysql por exigencia de la empresa. Ya establezco las conexiones por odbc y creo los cursores y todo lo demás, he tenido ciertos problemas al tratar de grabar en las tablas campos con fecha como es bien sabido mysql guarda año/mes/día y foxpro lo muestra de otra manera cree una función que me devuelve la fecha de esa manera pero al tratar de llamarla en un formulario me indica que "El valor, tipo o numero de argumentos no es válido para la función".
FUNCTION guardarfecha(cadena)
   día = SUBSTR(cadena,1,2)
    mes = SUBSTR(cadena,4,2)
   ano = SUBSTR(cadena,7,4)
   fecha = ano + "-" + mes + "-" + día
   RETURN fecha
endfunc
La invoco desde un botón para asignarla a una variable
fechai = guardarfecha(thisform.pageframe1.page1.text2.value)
Y eso va a una sql para insertarlo en la bd, pero me da el error mencionado.
Sin embargo lo pruebo solo en otro form pero que lo muestre y si convierte la cadena, ej:
En el botón coloco esto
thisform.text2.value = guardarfecha(thisform.text1.value)
Thisform.refresh
Y con este ultimo método si funciona
Agradezco la colaboración.

1 respuesta

Respuesta
1
A ver... ¿el formato que usa mysql es ano/mes/día... que formato deseas utilizar tu? día/mes/ano??? Para transformar la presentación del formato de fecha, basta con que uses la función SET DATE tipodeformato y listo! :)
Coloca en el INIT() de tu form, una linea así: (ejemplo)
**--
SET DATE BRITISH 
y el resultado sera una fecha con formato día/mes/ano! 
Ahora.. veo que usas esto: "fecha = ano + "-" + mes + "-" + día" y supongo que el formato que deseas usar es ano/mes/día... por tanto, para transformar las fechas de tu form a este tipo, debes usar esto (en el init de tu form):
**--ano.mes.dia
SET DATE ANSI
o también:
**--ano/mes/día
SET DATE JAPAN
o también:
**--ano/mes/día
SET DATE AMD
Y listo! :) Podes ver aquí, los otros tipos de formato a usar!
http://msdn.microsoft.com/es-es/library/cc467284(v=vs.71).aspx
Espero te sea de utilidad. Si no es lo que necesitas... házmelo saber para ayudarte! Si te sirve y te soluciona no olvides cerrar la pregunta!
Estoy a tus ordenes para cualquier cosa! Saludos! :)
Desde Managua, NIcaragua!
Ravenn :D :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas