Data e hora servidor
como pego a data e hora do servidor e colocar nas maquinas cliente uso delphi6 e firebrd
Lopes
Lopes
Elcilei
Curtidas 0
Respostas
Rogick
01/11/2006
Veja em algum manual do firebird, dá pra pegar via Query a data e a hora corrente do PC em q tá o BD.
No MySQL é assim:
No SQL Server é assim:
Ou tenta algo como
[b:7b5b95f5e2]Dica:[/b:7b5b95f5e2] Use uma IBQuery ou SQLQuery, sei lá, específica para fazer esta consulta e coloque-a numa função onde os outros forms possam utiliza-las, talvez no DataModule.
Eu faço assim nas minhas aplicações.
No MySQL é assim:
Select CURRENT_DATE() // retorna data Select CURRENT_TIME() // retorna hora Select NOW() // retorna data e hora
No SQL Server é assim:
Select get_date() // retorna data e hora
Ou tenta algo como
Select DATE()
[b:7b5b95f5e2]Dica:[/b:7b5b95f5e2] Use uma IBQuery ou SQLQuery, sei lá, específica para fazer esta consulta e coloque-a numa função onde os outros forms possam utiliza-las, talvez no DataModule.
Eu faço assim nas minhas aplicações.
GOSTEI 0
Denis
01/11/2006
Eu fiz assim :
Criei uma procedure no servidor
CREATE PROCEDURE PR_DATA_ATUAL RETURNS (
DATA TIMESTAMP
) AS
begin
data = current_timestamp;
suspend;
end
depois dentro do sistema fiz o seguinte para acertar a data e hora das máquinas clientes.
procedure TfrmPrincipal.FormActivate(Sender: TObject);
var DataHora: TSystemTime;
Ano, Mes, Dia, H, M, S, Mil: word;
begin
CdGeral.Close;
CdGeral.DataRequest(´Select data from PR_DATA_ATUAL´);
CdGeral.Open;
DecodeDate(CdGeral.fieldbyname(´Data´).AsDateTime, Ano, Mes, Dia);
DecodeTime(CdGeral.fieldbyname(´Data´).AsDateTime, H, M, S, Mil);
DataHora.wYear := Ano;
DataHora.wMonth := Mes;
DataHora.wDay := Dia;
DataHora.wHour := H;
DataHora.wMinute := M;
DataHora.wSecond := S;
DataHora.wMilliseconds := Mil;
SetLocalTime(DataHora);
CdGeral.Close;
Criei uma procedure no servidor
CREATE PROCEDURE PR_DATA_ATUAL RETURNS (
DATA TIMESTAMP
) AS
begin
data = current_timestamp;
suspend;
end
depois dentro do sistema fiz o seguinte para acertar a data e hora das máquinas clientes.
procedure TfrmPrincipal.FormActivate(Sender: TObject);
var DataHora: TSystemTime;
Ano, Mes, Dia, H, M, S, Mil: word;
begin
CdGeral.Close;
CdGeral.DataRequest(´Select data from PR_DATA_ATUAL´);
CdGeral.Open;
DecodeDate(CdGeral.fieldbyname(´Data´).AsDateTime, Ano, Mes, Dia);
DecodeTime(CdGeral.fieldbyname(´Data´).AsDateTime, H, M, S, Mil);
DataHora.wYear := Ano;
DataHora.wMonth := Mes;
DataHora.wDay := Dia;
DataHora.wHour := H;
DataHora.wMinute := M;
DataHora.wSecond := S;
DataHora.wMilliseconds := Mil;
SetLocalTime(DataHora);
CdGeral.Close;
GOSTEI 0