|
Página 1 de 2
|
Problema Para Almacenar Fecha
Autor |
Mensaje |
soldadozero
Programador
Registrado: Junio 2013
Mensajes: 110
Edad: 32 Ubicación: Nicaragua
|
Problema Para Almacenar Fecha
hola chicos vuelvo de nuevo
tengo un pequeño detalle en cuanto tomar el valor de un datebox o mejor dicho la fecha y almacenarla en mysql
agregar = moduloconexion.$conexion.Exec("insert into alumno values ('" &TextBox1.Text & "' , '" & TextBox2.text & "' , '" & TextBox3.text & "' , '" & TextBox4.text& "' , '" & TextBox5.Text & "' , '" & Datebox1.value & "')")
el codigo de arriba indica a la hora de almacenar
pero creo que el problema es el mal uso que le doy al control
creo que no es nada adecuado de la forma que lo hago, en cambio he leído un poco sobre fecha y se que esta una palabra reservada cDate que podria ayudarme en esto pero no le he dado utilidad adecuada me da error
que me aconsejan O.o
|
#1 Sabado, 06 Julio 2013, 17:06 |
|
|
jousseph
jousseph germaine celis zambrano
Analista Programador
Registrado: Julio 2010
Mensajes: 434
Edad: 38 Ubicación: Tachira
|
Re: Problema Para Almacenar Fecha
Citar: tengo un pequeño detalle en cuanto tomar el valor de un datebox o mejor dicho la fecha y almacenarla en mysql
agregar = moduloconexion.$conexion.Exec("insert into alumno values ('" &TextBox1.Text & "' , '" & TextBox2.text & "' , '" & TextBox3.text & "' , '" & TextBox4.text& "' , '" & TextBox5.Text & "' , '" & Datebox1.value & "')")
el codigo de arriba indica a la hora de almacenar
pero creo que el problema es el mal uso que le doy al control
creo que no es nada adecuado de la forma que lo hago, en cambio he leído un poco sobre fecha y se que esta una palabra reservada cDate que podria ayudarme en esto pero no le he dado utilidad adecuada me da error
soldadozero
Lo que sucede es que debes entrar a mysql busca el campo de la fecha y cambiala a DATE y veras que ahora en adelante podras almacenar fechas, muchos errores ocurren porque la fecha se guarda en ingles otras en español, otras con el tiempo, tambien es porque precisamente el campo debe ser solo en modo fecha o date y la lectura del control no se adapta a lo introducido.
última edición por jousseph el Domingo, 07 Julio 2013, 01:37; editado 1 vez
|
#2 Domingo, 07 Julio 2013, 01:37 |
|
|
soldadozero
Programador
Registrado: Junio 2013
Mensajes: 110
Edad: 32 Ubicación: Nicaragua
|
Re: Problema Para Almacenar Fecha
la base fue lo primero que diseñe, y segun mi logica se que asi la tengo declarada ese campo DATE.
creo que es el mal uso del control.
pero voy a verificar en el campo que este a si. pueda que lo pase por alto ese detalle.
|
#3 Domingo, 07 Julio 2013, 02:28 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Problema Para Almacenar Fecha
Lo que sucede es que debes entrar a mysql busca el campo de la fecha y cambiala a DATE y veras que ahora en adelante podras almacenar fechas, muchos errores ocurren porque la fecha se guarda en ingles otras en español, otras con el tiempo, tambien es porque precisamente el campo debe ser solo en modo fecha o date y la lectura del control no se adapta a lo introducido.
para evitar problemas lo mejor es guardar las fechas en formato 'YYYY-MM-DD' por algo aqui dice http://dev.mysql.com/doc/refman/5.0/es/datetime.html
por ejeplo usan un control que muestra la fecha como string dia/mes/año
crean una funcion que la convierta internamente desde el exec en un string 'YYYY-MM-DD'
para mostrar la fecha se necesita una funcion inversa
el tipo de dato date
solo es util si se usan calculos de fechas en el codigo
si solo es para leer y guardar sql en la base con string es suficiente y mas seguro
|
#4 Domingo, 07 Julio 2013, 06:43 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problema Para Almacenar Fecha
Prueba esto:
miconexion.Exec(Subst("insert into `mitabla` (`camponumero1`,`campovarchar2`,`campovarchar3`,`campo_datetime1`) values(&1,\"&2\",\"&3\",\"&4\")", variable1,variable2, variable3, Format(datebox1.value, "yyyymmddhhmmss")))
|
#5 Domingo, 07 Julio 2013, 10:34 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Problema Para Almacenar Fecha
Shordi, la función Subst no es necesaria, porque va implícita en el Exec. Tampoco sé por qué usas entrecomillado en los comodines &2 en adelante... por otra parte, si el campo de la base de datos está declarado como DATE, no haría falta formatear nada si usamos la propiedad Value del valuebox. Así es como yo lo uso y nunca tuve problemas.
Tu consulta quedaría así:
miconexion.Exec("insert into `mitabla` (`camponumero1`,`campovarchar2`,`campovarchar3`,`campo_datetime1`) "
"values(&1, &2, &3, &4)", variable1,variable2, variable3, datebox1.value)
En la función Exec, a partir del segundo argumento se consideran valores que corresponden a los "comodines" &1, &2, etc que van siempre a pelo, sin comillas, porque es la propia función Exec la que analiza el tipo de valor y lo adapta automáticamente. Si el valor devuelto por el datebox es efectivamente del tipo date, se introducirá en la BD como DATE o DATETIME automáticamente, te lo garantizo.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#6 Domingo, 07 Julio 2013, 11:25 |
|
|
soldadozero
Programador
Registrado: Junio 2013
Mensajes: 110
Edad: 32 Ubicación: Nicaragua
|
Re: Problema Para Almacenar Fecha
saludos amigos
creo que el ultimo codigo es lo mas correcto.
lo implementare.
el problema es mi metodo de ingresar datos a la base de datos.
usare ese metodo, ya lo tenia de alternativa, pero me daba algo de pereza lo de especificar los campos `camponumero1`,`campovarchar2`,`campovarchar3`,`campo_datetime1`
pero gracias lo are a como dicen
|
#7 Lunes, 08 Julio 2013, 01:28 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Problema Para Almacenar Fecha
soldadozero:
Citar: el problema es mi metodo de ingresar datos a la base de datos.
Pero si has preguntado exactamente "Problema Para Almacenar Fecha", y cuando llevas ya 4 contestaciones, cambias la pregunta...? ¿no hubiera sido mejor hacer otra pregunta (abrir otro hilo), o explicarte mejor?
Citar: ya lo tenia de alternativa
entonces... ¿para que preguntas?
Citar: pero me daba algo de pereza lo de especificar ....
¿que te daba que....?
La verdad es que " Se me caen los palos del sombrajo" ("caerse el alma a los pies"), cuando he leido esto.
Citar: pero gracias lo are a como dicen
Bueno, por lo menos das las gracias.
|
#8 Lunes, 08 Julio 2013, 09:37 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problema Para Almacenar Fecha
Citar: Shordi, la función Subst no es necesaria, porque va implícita en el Exec.
Eso es totalmente cierto, Jesús. Sin embargo como ya te dije he tenido problemas con eso. Cuando el valor que pasas a Exec es resultado de una función de ámbito private (creo recordar) o es una propiedad de un objeto (tag) que está dentro de un subformulario o algo así (esto lo "solucioné" hace tiempo y no recuerdo exactamente) me encontré con que la sustitución no se hacía correctamente.
Pasando primero al subst a: no tenía problemas y b: podía ver con el depurador exactamente lo que pasaba al exec. Sin embargo, al usar subst, necesito usar las comillas para pasar una cadena concreta.
Si las cosas han cambiado o no... pues no lo sé, a lo mejor es marear la perdiz y el error estaba en otro sitio, lo que sí sé es que haciéndolo así no he vuelto a tener problemas con las consultas.
Saludos.
|
#9 Lunes, 08 Julio 2013, 10:20 |
|
|
soldadozero
Programador
Registrado: Junio 2013
Mensajes: 110
Edad: 32 Ubicación: Nicaragua
|
Re: Problema Para Almacenar Fecha
soldadozero:
Citar: el problema es mi metodo de ingresar datos a la base de datos.
Pero si has preguntado exactamente "Problema Para Almacenar Fecha", y cuando llevas ya 4 contestaciones, cambias la pregunta...? ¿no hubiera sido mejor hacer otra pregunta (abrir otro hilo), o explicarte mejor?
Citar: ya lo tenia de alternativa
entonces... ¿para que preguntas?
Citar: pero me daba algo de pereza lo de especificar ....
¿que te daba que....?
La verdad es que " Se me caen los palos del sombrajo" ("caerse el alma a los pies"), cuando he leido esto.
Citar: pero gracias lo are a como dicen
Bueno, por lo menos das las gracias.
oye tu comentario suena algo brusco, si te molesto algo de lo que yo postie no volvere a postiar en esta comunidad y ya. tranquilo si mi metodo de hacer preguntas esta mal. solo dime que vuelva a editar la publicacion.
a demas lo de datebox son dos problemas en uno. como veras mi preguntas o mis publicaciones dicen el mal uso de control y a la ves no puedo almacenar (Claro suena como un solo problema, pero para mi son dos)
en cuento a lo de pereza no lo tomes muy literal, solo fue que no estaba seguro de funcionar por que habia tomado muchas alternativas y no me funcionaban
y tu comentario fue una ofensa para mi, a como dije antes disculpa por mi metodología de hacer preguntas.
(No creo que sea una buena actitud de tu parte, al menos reconoce que abajo de mi foto de perfil dice aprendiz = Novato, amigos seamos un poco mas considerables a la hora de corregir a una miembro de esta comunidad)
gracias y disculpen todas las molestias
última edición por soldadozero el Lunes, 08 Julio 2013, 16:36; editado 1 vez
|
#10 Lunes, 08 Julio 2013, 16:23 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|