SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: fredy666 en Domingo 10 de Abril de 2005, 13:51
-
Hola, estoy realizando un programa en VB para gestionar las reservas de una casa rural, y la base de datos la tengo sobre MYSQL, me funciona todo (creacion de BD y tablas, inserciones, ...), pero no hay forma de poder insertar fechas en MYSQL, aqui os pongo el string que le hago y los datos:
Set str = conexion.Execute("INSERT temporada(codigo, descripcion, fechaini, fechafin, precio) VALUES('" & codigo + 1 & "', '" & txtdescripcion.Text & "','" & DTPicker1.Value & "', '" & DTPicker2.Value & "', '" & Total & "')")
El campo fechaini y fechafin es de tipo DATE
Dtpicker es un calendario el cual puedo decirle que me muestre la fecha como yo quiera (lo he probado en aaaa/mm/dd y en dd/mm/aaaa).
Haber si alguien me puede ayudar.
Gracias
Fredy666
-
Hola Buenos dias: :P
No se si esto te ayudará pero yo tuve un problema parecido, no con MySql sino con SQL y lo solucioné de la siguiente manera:
Habia que meter con ' antes y despues, veamos un ejemplo:
f_registro = "'" & Format(Date, "DD-MMM-YY") & "'"
Notesé que no son 5 ' sino que espaciandolo, aunque no hay que poner espacios es así: :comp:
f_registro = " ' " & Format(Date, "DD-MMM-YY") & " ' "
Ya dirás si te funciona o no para que sigamos indagando o quizas alguien as pueda ayudarte.
Un saludo :whistling:
-
OK muchas gracias, esta misma noche, cuando a casa de trabajar lo probare, ya os dire que tal me fue.
-
Hola:
No conozco mysql, pero el sql es tan standard que en una de esas la siguiente opinión es importante:
1º La fecha debe ir en formato GRINGO. es decir MM/DD/YY.
2º El caracter para encerrar fechas no es ', sino #
U sea #04/13/05#, por ejemplo.
Espero haber sido de utilidad.
Salu2
-
El problema es que necesito guardar la fecha directamente desde un componente con dtpicker.value por lo que eso de las # no sirve :(
-
Porqué no?
Prueba así:
Set str = conexion.Execute("INSERT temporada(codigo, descripcion, fechaini, fechafin, precio) VALUES('" & codigo + 1 & "', '" & txtdescripcion.Text & "','" & DTPicker1.Value & "', #" & format(DTPicker2.Value, "mm/dd/yy") & "#, '" & Total & "')")
Espero te funcione.
Salu2
Modificación: Se me pasó aplicar el ejemplo al DTPicker1, pero creo que la idea se entiende.
-
no se que version tengas de mysql, pero parece que en las bases de datos mysql los datos de tipo fecha se insertan de esta manera 2005-01-26 08:40:50, asi que tu cadena de insercion cambiala de la sig. manera aplicando formatos de fecha.
Set str = conexion.Execute("INSERT temporada(codigo, descripcion, fechaini, fechafin, precio) VALUES('" & codigo + 1 & "', '" & txtdescripcion.Text & "','" & format(DTPicker1.Value,"yyyy/mm/dd") & "', '" & format(DTPicker2.Value,"yyyy/mm/dd" & "', '" & Total & "')")
para consutarlo tendras que aplicar un formato(dd/mm/yyyy), para presentar tus datos.