bombero_7 Posted July 12, 2013 Report Share Posted July 12, 2013 tengo un problemilla, necesito guardar en una base de datos mysql solo el mes y el año, para esto ocupo un control datetimepicker pero al intentar guardar la fecha me salta el error como debo formatear el campo de la base de datos , o debo guardarlo con algun dia? Link to comment Share on other sites More sharing options...
susodicho Posted July 12, 2013 Report Share Posted July 12, 2013 :mmm: Dependiendo de lo que estés haciendo, quizás ni siquiera necesites guardarlo como fecha. Podrías guardar el mes y año como un entero. Por ejemplo, la fecha de hoy (12/07/2013) la podrías guardar como 201307. O sea, usando el formato AAAAMM (4 dígitos para el año y 2 dígitos para el mes; nótese que hay que anteponer un cero para meses anteriores a octubre).Para ingresar esta "fecha corta" puedes usar algo como (es sólo un ejemplo): consultaSQL = "INSERT INTO pago(fecha_primer_pago,cuotas) VALUES(" & String.Format("{0:D4}{1:D2}", DateTimePicker1.Value.Year, DateTimePicker1.Value.Month) & ",3)" En este ejemplo, el campo fecha_primer_pago sería de tipo entero.Como no sé qué estás haciendo o para qué se usan estas fechas cortas, quizás te podrían servir las funciones PERIOD_ADD y PERIOD_DIFF (por si necesitas saber la cantidad de meses que han pasado entre dos fechas). Ahora, si realmente necesitas usar el tipo DATE, yo creo que simplemente le pones el día 1 a todas de estas fechas. Recuerda que las fechas, en general, se expresan de la forma 'AAAA-MM-DD' ;) Link to comment Share on other sites More sharing options...
bombero_7 Posted July 12, 2013 Author Report Share Posted July 12, 2013 muchas gracias, por contestar, la verda es para almacenar el mes y año de un producto, asi saber si esta vencido o no, nada mas Link to comment Share on other sites More sharing options...
cañangasñangas Posted July 12, 2013 Report Share Posted July 12, 2013 y si usas CURDATE() de mysql , te devuelve la fecha completa, es decir aaaa-mm-dd puede ser una opcion Link to comment Share on other sites More sharing options...
bombero_7 Posted July 12, 2013 Author Report Share Posted July 12, 2013 bueno me respondo a mi mismo, finalmente después de tanto jugar con las funciones, hice una que me entrega el ultimo día del mes, así por lo menos sabre cuando el mes se va a acabar, ya que era solo lo que me interesaba, les dejo la función por si a alguien le sirve de como sacar el ultimo dia del mes ya que no supe como almacenar solo el mes y año, decidi almacenar el ultimo dia del mes asi sabre igual si se acabo el mes o no Public Function finaldemes(ByVal Fecha As Object) As Date 'para sacar el ultimo dia del mes, ya que solo necesito saber el mes de vencimiento If IsDate(Fecha) Then finaldemes = DateAdd("m", 1, Fecha) finaldemes = DateSerial(Year(finaldemes), Month(finaldemes), 1) finaldemes = DateAdd("d", -1, finaldemes) End If End Function Link to comment Share on other sites More sharing options...
cañangasñangas Posted July 12, 2013 Report Share Posted July 12, 2013 bueno me respondo a mi mismo, finalmente después de tanto jugar con las funciones, hice una que me entrega el ultimo día del mes, así por lo menos sabre cuando el mes se va a acabar, ya que era solo lo que me interesaba, les dejo la función por si a alguien le sirve de como sacar el ultimo dia del mes ya que no supe como almacenar solo el mes y año, decidi almacenar el ultimo dia del mes asi sabre igual si se acabo el mes o no Public Function finaldemes(ByVal Fecha As Object) As Date 'para sacar el ultimo dia del mes, ya que solo necesito saber el mes de vencimiento If IsDate(Fecha) Then finaldemes = DateAdd("m", 1, Fecha) finaldemes = DateSerial(Year(finaldemes), Month(finaldemes), 1) finaldemes = DateAdd("d", -1, finaldemes) End If End Function okale, autosolucionado, procedo al cierre. Saludos... Link to comment Share on other sites More sharing options...
Recommended Posts