|
Página 1 de 1
|
Autor |
Mensaje |
Dervins
Usuario
Registrado: Diciembre 2010
Mensajes: 18
Edad: 34 Ubicación:
|
PREGUNTA BASE DE DATOS
hola y disculpen mi ignorancia
hace poco tiempo que se que existe gambas
y me ha lamado bastante la atencion
me he puesto a curiosear
y actualmente estoy conociendo la parte de base de datos
el proble es que cuando mando a guardar una fecha de un textbox o un valuebox
a la base de datos esta me cambia la fecha
incluso intente con esto
date (now)
para guardar la fecha actual del sistema y me cambia los valores de la fecha
alguien sabe por que sucede esto??
me puede dar una posible solucion??
de antemano gracias
|
#1 Domingo, 30 Enero 2011, 14:19 |
|
|
pittusa
Técnico Programador
Registrado: Marzo 2010
Mensajes: 157
Edad: 53 Ubicación: Barcelona
|
Re: PREGUNTA BASE DE DATOS
|
#2 Domingo, 30 Enero 2011, 14:59 |
|
|
Dervins
Usuario
Registrado: Diciembre 2010
Mensajes: 18
Edad: 34 Ubicación:
|
Re: PREGUNTA BASE DE DATOS
creo que plantee mal la pregunta disculpen de nuevo
el problema no es como se muestre en en un combox
el problema es como se guarda en la base de datos
por ejemplo
yo guardo
22/01/1980
y en la base de datos se guarda
22/01/1902
32/02/1906
y otras formas mas, es decir, la misma base de datos me cambia los valores
|
#3 Domingo, 30 Enero 2011, 15:11 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: PREGUNTA BASE DE DATOS
No puedes hacer nada. Así es como trabajan todas las bases de datos para campos definidos como date.
Aunque si declaras un campo como TEXT (no sé que motor usas, MYSQL o SQLITE?) y antes de guardar la fecha la formateas como desees, tendrás tu fecha como esperas.
Mi consejo es que lo hagas como explica ahtonio en el post que indicó pitussa. Evitarás muchos errores, sobre todo con el tema de la localización, que es la forma de mostrar las fechas según en qué idioma y también a la hora de ordenar o buscar entre fechas.
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"
|
#4 Domingo, 30 Enero 2011, 15:35 |
|
|
Dervins
Usuario
Registrado: Diciembre 2010
Mensajes: 18
Edad: 34 Ubicación:
|
Re: PREGUNTA BASE DE DATOS
estoy usando sqlite3
hice lo que dice en el post, pero ahora el formato es dd/mm/yy
y quisera que lo guardara dd/mm/yyyy
es esto posible??
|
#5 Domingo, 30 Enero 2011, 15:50 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: PREGUNTA BASE DE DATOS
¿Puedes postear el código que estás usando?
Sin saber lo que haces es difícil ayudarte.
=================== 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, 30 Enero 2011, 16:36 |
|
|
Dervins
Usuario
Registrado: Diciembre 2010
Mensajes: 18
Edad: 34 Ubicación:
|
Re: PREGUNTA BASE DE DATOS
Conexion.conex.Exec("INSERT INTO ALUMNOS(NOMBRE,NOMBRE2,APELLIDO1,APELLIDO2,LUGARNAC,SEXO,SANGRE,NO_MED,PRECAUCIONES, FECHANAC, EDAD)Values('" & NomAlum.Text & "', '" & Nom2Alum.Text & "','" & ApeAlum.Text & "','" & Ape2Alum.Text & "', '" & LNacio.Text & "','" & sexo & "', '" & GruSanAlum.Text & "', '" & MedProhi.Text & "', '" & Precauciones.Text & "', '" & Format(VFecha.Value, "yyyy/mm/dd") & "', " & EdadAlum.Text & ")")
'este lo uso para guardar en la BD
'por ahora solo estoy guardando
'el codigo de la fecha es:
PUBLIC FUNCTION DevuelveFecha() AS Date
Fecha.ShowModal
RETURN Var.IncluirFecha
END
PUBLIC SUB ToolButton1_Click()
VFecha.Value = DevuelveFecha()
EdadAlum.Text = DateDiff(VFecha.Value, Date(Now), gb.Year)
END
'asi guardo la fecha en el valuebox
última edición por Dervins el Domingo, 30 Enero 2011, 16:49; editado 1 vez
|
#7 Domingo, 30 Enero 2011, 16:43 |
|
|
ahtonio
Programador
Registrado: Octobre 2009
Mensajes: 144
Edad: 58 Ubicación: Zaragoza
|
Re: PREGUNTA BASE DE DATOS
Hola de nuevo al temita de las fechas.
Tengo una tabla definida asi:
IF NOT hCon.Tables.Exist("pedido") THEN
hTable = hCon.Tables.Add("pedido")
WITH hTable.Fields
.Add("idped", db.Serial)
.Add("fecped", db.Date)
.Add("cliped", db.Integer,, 1) 'R-> Cliente
.Add("proped", db.Integer,, 1) 'R-> Producto
.Add("cteped", db.Float,, 0)
.Add("pteped", db.Float,, 0)
.Add("litped", db.Integer,, 0)
.Add("pvpped", db.Float,, 0)
.Add("cmsped", db.Float,, 0)
.Add("ivaped", db.Float,, 18.00)
.Add("fraped", db.Integer,, 0) '-> Nº factura en que se incluye
.Add("obsped", db.String, 115)
END WITH
hTable.PrimaryKey = ["idped"]
hTable.Update
ENDIF
El campo fecped (fecha pedido) si lo miras con SQLITE Databrowser, veras que es un campo DATETIME que se guarda en formato YYYY-MM-DD HH-MM-SS o algo asi (en la ayuda de sqlite3 puedes consultarlo). Para nuestro efectos vamos considerar unicamente YYYY-MM-AA OK?
Cuando queremos grabar un pedido en el campo fecha, el cual aceptaremos desde un ValueBox con Type = date, yo lo que hago es
rst["fecped"] = vbfec.Value
Si fuese un textbox lo haría asi:
rst["fecped"] = CDate(txtfec.text)
y de este/os modos cuando consultes la base de datos lo veras como 2010-05-12 00:00:00 . Yo no intentaría cambiar esto porque no me molesta y el espacio puede considerarse despreciable en principio.
Cuando lo quiero ver en un ColumnView o GridView en formato de 2 dig. para el año o de 4, emplea la función format directamente y no intento investigar como lo hace por defecto. Si lo haces así y el formato cambia por un casual, tu aplicación seguirá funcionando.
Por cierto en el ValueBox se te mostrará la fecha como 01/02/2011, pero si introduces 01/02/11 el te hará la conversión y la hará correctamente a 01/02/2011, por eso uso ValueBox te ahorra muchas validaciones.
Espero te ayude
Un saludo Antonio
xxx
|
#8 Miercoles, 02 Febrero 2011, 10:28 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados 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
|
|
|
|
|