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 27-02-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Campo Time no anda en InterBase?

Hola Foro:
Necesito guardar en un campo la hora. Si uso un campo Timestamp, guarda fecha y hora, si quiero crear un campo Time me dice "Dialect 1 no support referernce to Time".
La pregunta entoces son cuatro.
1 ¿qué dialecto tengo que usar?
2 ¿Si la Base de datos está creada y funcionando puedo cambiar el dialecto? 3 ¿como se cambia el dialecto?
4 ¿Me puede trarer algún problema cambiar de dialecto?
Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 05-03-2008
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

3 ..
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #3  
Antiguo 07-03-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Sigo con el problema

Gracias por la respuesta, pero aún no puedo resolver este tema. creo que me compliqué demasiado en hacer la pregunta.
Tal vez si me pueden contestar lo siguiente. Se puede guardar solamente la hora en un campo Timestamp?.
yo hago lo siguiente:

Paso 1
------
Creo el campo en la tabla
create table trabajos (
....
Hora Timestamp,
...
Paso 2
------
En la aplicación coloco un Datatimer y lo seteo para que pida y muestra la hora.

Paso 3
------
Consulta de actualización
update trabajos
set hora=:PHora

(el parametro PHora es tipo Time)

Paso 4
--------
luego actualizo
parabyname('Phora').value:=Datetimer.time

Paso 5
------
Por último miro el dato

select hora from trabajos

y aparece ....

'06/03/2008 15:30:25'

y necesito que aparezca

'15:30:25'

¿qué estoy haciendo mal?

Desde ya, gracias por su atención.
Responder Con Cita
  #4  
Antiguo 07-03-2008
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Si estas guardando timestamp te guardara hor ay fecha.
Que quieres que solo te muestre la hora eso es cuestion de formatear el componente que muestra el dato. Pero en el campo hay fecha y hora.

Te recomiendo que uses time y olvidae de los problemas y no te compliques mas de lo que debs con una casa tan cencilla.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #5  
Antiguo 07-03-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Usa formato de caracteres

Hola,

Yo te recomiendo algo distinto:

Guarda la información en formato de caracteres. Tan solo deberás escribir pequeñas rutinas para convertir entre el formato de fecha que uses y el formato de almacenamiento de caracteres.

La ventaja de este método es que es portable entre diferentes motores de Bases de Datos y no se presta a ambiguedad en su presentación.

Las fechas se deberían colocar en formato aaaammdd

Las horas, si son a nivel de segundos, como hhmmss

Si necesitas fecha y hora, usa aaaammddhhmmss

Si empleas esté método verás también que las consultas en la base de datos serán más fácil de manejar.

Personalmente, siempre uso esa metodología, nunca trabajo con formatos propietarios para fecha y hora, ni para otros tipos de datos que puedan manejarse en formato de caracteres. Entre otras cosas porque hace mucho tiempo aprendí, de la manera dura, que es mucho mejor usar formatos standard y no trabajar con peculiaridades de un motor.

Suerte
Responder Con Cita
  #6  
Antiguo 08-03-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Gracias por responder. yo coincido con "Rastafarey", quiero usar Time. pero
si quiero crear un campo Time me dice

"Dialect 1 no support referernce to Time".

Alguién sabe que es eso en InterBase?
Responder Con Cita
  #7  
Antiguo 11-03-2008
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

"Dialect 1 no support referernce to Time".

La refecncia time no ets soprtado para el dialecto 1.

Eso es lo que dice con ese dialecto no pudes usar time para usasr tieme debes usar dialect 3.

No se que es lo que no se entiende.

La solucion.

1. saca un respaldo trasportable de la base de datos.
2. Extraer es escript cambia los campos de lso campos que tengas que cambiar cambia el dialecto a 3 ejecuta el escrit.
3. Restaura la base de datos con la opcion que no remplace la base datos.

Y no preguntes como se saca un respaldo.

y se supone que el resplado va hacer desde el bakup que sacaste hacia la nuevabase de datos.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #8  
Antiguo 11-03-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Gracias por tu ayuda

Gracias por tu ayuda, pero

"No se que es lo que no se entiende."
y
"Y no preguntes como se saca un respaldo."

Recuerda que no tienes ninguna obligación en responder.
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
Guardar en campo time más de 24 horas fidel Varios 6 21-12-2005 23:22:01
Sobre Campo DAtE y Time. ghost Firebird e Interbase 4 17-09-2004 05:37:09
Ingresar Time en un campo brandolin Firebird e Interbase 1 07-08-2004 01:48:11
Problema con campo Time brandolin Firebird e Interbase 3 26-06-2004 21:01:29
Campo Time kes MS SQL Server 2 05-02-2004 19:56:58


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


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