Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
PREGUNTA BASE DE DATOS
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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
 



 
Dervins - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: PREGUNTA BASE DE DATOS 
 
hola.

Yo también tuve ese problema.

Mira esto:

http://foro.gambas-es.org/viewtopic.php?f=3&t=969
 



 
pittusa - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
Dervins - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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??
 



 
Dervins - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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 
Dervins - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
ahtonio - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes SELECCIONAR DEL COMBOBOX EL CAMPO CLAVE ... victoria General 6 Lunes, 14 Febrero 2011, 22:43 Ver último mensaje
shordi
No hay nuevos mensajes BASE DE DATOS jsjessysantana Bases de Datos 2 Domingo, 19 Junio 2011, 11:15 Ver último mensaje
jguardon
No hay nuevos mensajes COMO VACIAR EL CONTENIDO DE UN TABLEVIEW A... sayeret Bases de Datos 2 Viernes, 06 Enero 2012, 19:22 Ver último mensaje
jsbsan
No hay nuevos mensajes CONEXION A UNA BASE OPENOFFICE rfbaires Bases de Datos 1 Domingo, 25 Marzo 2012, 09:40 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron