FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Consulta de fechas y horas con Firebird
Tengo una aplicación en Delphi atacando a un a DB Firebird. Esta aplicación esta en red y quiero saber:
-Quiero guardar en una tabla la hora y la fecha por separado de una modificación de información, pero la quiero coger del servidor (un PC dedicado como tal y con Windows 2000 Server en donde se encuentra Firebird) ya que no quiero que nadie me cambie la fecha y la hora de su pc guardando así cada uno lo que quiera y la que mande siempre sea la del servidor. Jordy. |
#2
|
||||
|
||||
Hola, espero haber entendido bien tu pregunta.
Citado por Jordy: Cita:
Espero sirva.... Your friend, StartKill Lima-perú |
#3
|
||||
|
||||
Pues en FireBird a parte del tipo TimeStamp, tienes Time y Date, por lo tanto si creas un campo de tipo Date y otro de tipo Time, no tienes mas que utilizar la función Date y Time de Delphi si lo que quieres guardar es la hora y fecha actuales y sino datos apropiados y guardarlos en este tipo de campos.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#4
|
||||
|
||||
Saludos
Soy nuevo en el foro, espero poder ayudar en lo que pueda... Ahora con respe a las fechas en delphi y firebird (Interbase), yo lo que realizo para no tener problemas en el momento de guardar un dato tipo date, tipo time o tipo timestamp siempre realizo un paso de mas, ya sea en el codigo de mi aplicacion o en la SQL. 1. en el Codigo: var hora : time; char_hora : varchar; begin hora := strtotime(14:00); // siempre uso el formato de 24 horas dataset.fieldbyname('horaDB').asdatatime := hora; char_hora := timetostr(dataset.fieldbyname('horaDB').asdatatime); hora := strtotime(char_hora) + strtotime('00:15'); dataset.fieldbyname('horaDB').asdatatime := hora; { es un poco molesto realizar tantas conversiones pero asi me aseguro de no tener problemas con la configuración regional de cada PC ya que en ocaciones queda almacenado como 10:00 a.m. y en otros como 10:00 AM y de verdad que trae problemas con locates y con tipo de datos} end; 2. desde una sql select * from TTablaXY where cast(horaDB as time) =cast(arrametro_envidao as time) /* aunque el campo horaDB sea de tipo time, es mejor realizar el cast ya que en ocaciones no funciona bien sin este...*/ Espero que sea de utilidad |
#5
|
|||
|
|||
Consulta de fechas y horas con Firebird
Muchas grácias me funciona todo correctamente.
Jordy. |
#6
|
|||
|
|||
Cita:
En concreto las variables datetime guardan un numero en punto flotante de modo que el el numero 0 representa las 12 de la noche y el numero 0.5 representa las 12:00 del mediodia por ejemplo. Asi que no hay necesida de conversiones. Despues los servidores de base de datos segun que servidor sea puede utilizar este mismo formato, o algun otro pero siempre con la misma logica: se guarda un numero binario indicado el numero de segundos, o de milisegundos, etc.. Que aparezcan en pantalla los valores con un AM o am , es una cuestion de representacion en el momento de realizar la impresion que nada tiene que ver con el valor guardado realmente en la variable o campo. Podrias explicar la logica de esas conversiones ? Saludos |
|
|
|