Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-02-2005
santi santi is offline
Miembro
 
Registrado: ene 2005
Posts: 16
Poder: 0
santi Va por buen camino
Fecha en Oracle

Hola a tod@s,
cómo podría convertir el string fecha := '10/02/2005 00:00:00' en datetime para insertarlo tal cual en oracle?
El problema es que inicialmente tengo un data : TDateTime que contiene sólo '10/02/2005', entonces para añadirle la hora, min,seg hago :
fecha := DateToStr(data)+ ' 00:00:00';
Pero cuando lo inserto en oracle sólo lo hace como 10/02/2005.
Gracias.
Santi.
Responder Con Cita
  #2  
Antiguo 10-02-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Wop!

¿Cómo lo insertas? ¿que componentes usas? ¿Como declaras las variables?
__________________
E pur si muove
Responder Con Cita
  #3  
Antiguo 10-02-2005
santi santi is offline
Miembro
 
Registrado: ene 2005
Posts: 16
Poder: 0
santi Va por buen camino
Lo declaro así:
fecha : string;
data : Tdatetime;
entonces en data tengo una fecha sin horas, min y seg. Para ello hago:
fecha := DateToStr(data)+ ' 00:00:00';
data := StrToDateTime(fecha);
y lo actualizo en la bds

sql.Add('Update tabla Set data_final = to_date( data_final ,''dd/mm/yyyy hh24:mi:ss''))

ParamByName('pdata_final').AsDateTime := data;

Y como resultado en la bds sólo me ha puesto la fecha pero sin la hora

Se te ocurre algo?

Gracias.
santi
Responder Con Cita
  #4  
Antiguo 10-02-2005
Coco Coco is offline
Miembro
 
Registrado: jul 2004
Ubicación: Argentina
Posts: 83
Poder: 20
Coco Va por buen camino
De que tipo tienes declarado el parametro data_final, es de tipo DATE?

Sino una opcion valida que tienes, ya que cargas la cadena de actualizacion dinamicamente es poner directamente el valor de la fecha como string

sql.Add('Update tabla Set data_final = to_date( '+QuotedStr(fecha)+' ,''dd/mm/yyyy hh24:mi:ss''));


Suerte
__________________
Hice un trato con Dios... el no hace sistemas y yo hago milagros
Responder Con Cita
  #5  
Antiguo 10-02-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Wop!

Intenta esto:
Código Delphi [-]
  sql.Add('Update tabla Set data_final = data_final');
  ParamByName('pdata_final').AsDateTime := data;

Teóricamente, si tratas la variable como de tipo DateTime, no es necesario hacer el cast (de hecho creo que por eso podría estar fallando).
Tambien puedes probar a pasarle una hora distinta de 00:00:00, a ver qué pasa
__________________
E pur si muove
Responder Con Cita
  #6  
Antiguo 16-02-2005
santi santi is offline
Miembro
 
Registrado: ene 2005
Posts: 16
Poder: 0
santi Va por buen camino
No lo solucioné pero encontré el problema,
resulta que el valor para la hora 00:00:00 en oracle , no sé porqué, lo guarda pero no lo muestra en el campo de la tabla.Es decir,está pero no visible. Probé a pasarle una hora distinta y todo ok.
Gracias!
Santi.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:18:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi