Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 24-07-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por n03l
- Hay ocasiones en las que la fecha y hora del servidor firebird se ajusten de manera manual por una persona
Bien, para empezar, NADIE debe cambiar la fecha del servidor , es más, un servidor no debe estar al alcance de ningún trabajador "normal" de la empresa.
En todo caso deja que el propio servidor se ajuste la hora automáticamente conectándose a un servidor horario, eso lo mantendrá siempre perfecto, tal y como ha indicado antes duilioisola.

Cita:
Empezado por n03l
lo que quiero esque todos clientes que se ejecuten en red manejen la misma fecha y hora del servidor firebird
Para eso solamente debes consultar la fecha y hora del servidor.

Cita:
Empezado por n03l
-Hay clientes que podrian estar abiertos por varios dias.
Como si están mil años, no importa, cada vez que hace falta saber la fecha y hora sólamente tienes que consultarla al servidor.


¿Cómo consultar la fecha y hora del servidor donde está instalado firebird?, pues es fácil, tienes diversas formas, esta es una de ellas.

Puedes tener funciones distintas para las fecha, hora y fechahora, ejemplo:

Código Delphi [-]
function getFechaServidor:TDateTime;
begin
  Result := SelectDBmain('CURRENT_DATE','RDB$DATABASE')
end;

function getHoraServidor:TDateTime;
begin
  Result := SelectDBmain('CURRENT_TIME','RDB$DATABASE')
end;

function getFechaHoraServidor:TDateTime;
begin
  Result := SelectDBmain('CURRENT_TIMESTAMP','RDB$DATABASE')
end;

Una función común para no repetir el mismo código en cada una de las funciones anteriores:
Código Delphi [-]
function SelectDBmain(cCampo,cTabla:string;cCondicion:string=''):Variant;
var
  Q : TQuery;
begin
  Q := TQuery.Create(nil);
  Q.Database := DMmain.DBmain;  // <-  tu componente de base de datos
  Q.Close;
  Q.SQL.Text:='select '+cCampo+' from '+cTabla
  Q.ExecQuery;
  Result:=Q.Fields[0].AsVariant;
  Q.Close;  
  FreeAndNil(Q);  
end;

Y para usarlo, por ejemplo, desde un botón, para presentar el dato en un tdatetime:

Código Delphi [-]
procedure TForm1.bt1Click(Sender: TObject);
begin
  if edFecha.Focused then  // <- componente de fecha, por ejemplo
    edFecha.Date := getFechaServidor;
end;

O simplemente para mostrar un mensaje:
Código Delphi [-]
procedure TForm1.bt2Click(Sender: TObject);
begin
  ShowMessage( FormatDateTime('dd.mm.yyyy hh:nn:ss', getFechaServidor) );  
end;

Espero que te sirva.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Crear un DataModule para Firebird claudiorene Firebird e Interbase 1 13-07-2007 18:01:09
Ayuda para crear usuario en firebird antony_prg JAVA 8 14-07-2006 21:29:43
crear usuarios para Firebird chikitolina Firebird e Interbase 1 03-05-2005 18:20:46
Error en sql cuando cambie de version IVAND Firebird e Interbase 4 03-05-2005 01:44:34
Duda con un tigger Gregory Mazon Firebird e Interbase 2 19-08-2003 16:31:21


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


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