Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2006
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
duda con formato fecha en firebird

tengo un campo date en una tabla de mi db

cuando guardo la variable fecha que es un string tengo que formatearla a yyyy/mm/dd, eso no es problema.

el problema es cuando quiero consultar esa fecha la veo en la tabla como dd/mm/yyyy 01:00:00 a.m.

como hago que no guarde el valor 01:00 que evita que pueda hacer comparaciones en mis reportes. o que lo guarde como 00:00:00 a.m.

ya le di el formato yyyy/mm/dd+' 24:00:00' ó '00:00' y no resulto. pone 01:24:00 y 01:00:00

por yyyy/mm/dd es copy(sFecha_trabajo,7,4)+'/'+copy(sFecha_trabajo,4,2)+'/'+copy(sFecha_trabajo,1,4)



alguna sujerencia
gracias
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #2  
Antiguo 11-10-2006
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
¿Estás usando formato de campo tipo Date en la BD? Lo que estás describiendo es un campo de formato Timestamp.
Responder Con Cita
  #3  
Antiguo 12-10-2006
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Poder: 20
fly Va por buen camino
Si usas Dialect 1 los campos DATE llevan tambien la hora, como si fuera un DateTime.. ya ves.... Pásatea a Dialect 3 y ya queda solucionado.

De todas formas depende de como lo leas en Delphi, si lo lees como una fecha no te pilla la hora pero si lo lees como un texto si que te la muestra (por ejempo si lo visualizas en un Memo o concatenas campos mediante || o haces un CAST ... VARCHAR() ).

A mi al insertar o modificar el campo me pilla siempre la hora como 00:00:00 tanto en los campos que se inicializan en un trigger
Código SQL [-]
IF (NEW.fecha_entr IS NULL) THEN   NEW.Fecha_entr="TODAY";
como los que pongo desde Delphi
Código Delphi [-]
     Dmq1.Edit_Q.SQL.Text:=
          ' UPDATE ENTRADA SET'+
          '   fecha='+Dmq1.FechaToIB(Edit_fecha.Text)+', '+
          '   hora='+Dmq1.HoraToIB(Edit_hora.Text)+', '+
          '   origen='+Dmq1.TextoSQL(Edit_origen.Text)+', '+
          ..........

Aqui la funcion que hice tan solo se encarga de la conversión de formato, que por lo que veo es diferente a la tuya (yyyy/mm/dd):

Código Delphi [-]
 Function TDMQ1.FechaFromIB(fecha:TDateTime):String;
  var resultado:string;
      formato : TFormatSettings;
  begin
{TODO -csinprisa -ofly: Ojo no verifica fechas erroneas, terminarlo...}
   formato.ShortDateFormat:='dd/mm/yy';
   formato.DateSeparator:='/';
   resultado:='"'+DateToStr(fecha,formato)+'"';
   if resultado='""' then resultado:='NULL';
   FechaFromIB:=resultado;
  end;

Espero que te sirva de algo.
Responder Con Cita
  #4  
Antiguo 12-10-2006
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
si estoy utilizando dialect 1, lo voy a cambiar. y a probar lo que me sugieren.

gracias
__________________
Todos llevamos nuestros demonios a cuestas..
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
formato fecha iris2408 SQL 1 22-06-2006 10:15:54
Como cambiar el formato de un QRSysData en formato fecha Bitbanner Tablas planas 1 13-02-2005 12:33:26
Como Obviar el formato de Fecha del Servidor para Salvar sólo en formato "dd/mm/yyyy" R_Richards Varios 4 07-02-2005 15:57:19
Formato fecha en Firebird 1.5.1 mosorio Firebird e Interbase 1 05-11-2004 17:23:46
Formato fecha en FireBird HombreSigma Firebird e Interbase 2 22-06-2003 22:18:00


La franja horaria es GMT +2. Ahora son las 21:08:19.


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