Como pegar a hora atual do servidor firebird em tempo de execução!!
Bom dia a todos!! Em um form tenho campos:data1,data2,hinicial,hfinal e htotal. Com a ajuda do colega wilson lehapan consegui criar uma função para calcular o tempo entre hinial e hfinal e mostrar no campo htotal. A hinicial e data1 são preenchidos automaticamente quando um novo registro é salvo. O campo data1 no banco esta como current_data e o campo hinial esta como current_time e no componente de acesso SQLDataSet os campos estão como requerid = false. Gostaria de saber com faço para ao clicar em um botão para finalizar a separação de mercadorias fosse inserido no campo data2 a data do servidor e no campo hfinal a hora do servidor para que então a procedure que o colega wilson me passou entrasse em ação para fazer o calculo do tempo total que um funcionario gastou ao separar uma nota.
Rogerio Sena
Curtidas 0
Respostas
Rogerio Sena
24/05/2011
Bom dia a todos!! Em um form tenho campos:data1,data2,hinicial,hfinal e htotal. Com a ajuda do colega wilson lehapan consegui criar uma função para calcular o tempo entre hinial e hfinal e mostrar no campo htotal. A hinicial e data1 são preenchidos automaticamente quando um novo registro é salvo. O campo data1 no banco esta como current_data e o campo hinial esta como current_time e no componente de acesso SQLDataSet os campos estão como requerid = false. Gostaria de saber com faço para ao clicar em um botão para finalizar a separação de mercadorias fosse inserido no campo data2 a data do servidor e no campo hfinal a hora do servidor para que então a procedure que o colega wilson me passou entrasse em ação para fazer o calculo do tempo total que um funcionario gastou ao separar uma nota. A colega Flavia me passou um codigo de uma procedure que deve ser feita no banco . create procedure datatime returns(datatime timestamp)as begin select current_timestamp from rdb$database into :datetime; suspend; end a pergunta é se funciona como devo chamar ela no form (no botao).
GOSTEI 0
Wilson Junior
24/05/2011
GOSTEI 0
Rogerio Sena
24/05/2011
bem wilsom ainda nao consegui tentei varias formas mas ainda nada. no campo data1 beleza vem automatico e no campo hinicial tb, mas cara no data2 e hfinal to apanhando feio. nao sei se vc viu o codigo que a flavia mandou se viu oq acha e como utilizar na chamada da função no click do botao finalizar.
obrigado por me ajudarem como viram sou novato.
GOSTEI 0
Rogerio Sena
24/05/2011
wilson a função em que me ajudou esta certinha só que os campos data2 e hfinal tenho que digitar.não sei se entenderam as eu quero que ao clicar no botão finalizar a data2 e hfinal seja preenchida automaticamente com a hora do banco pois futuramente pretendo colocar a aplicação em rede esse projetinho pode valer uma vaga na empresa a qual eu trabalho. se quiser posso te enviar os fontes com o banco so me passar um email?
GOSTEI 0
Wilson Junior
24/05/2011
Olhe este link de como utilizar uma Stored Procedure com Delphi http://www.scip.be/index.php?Page=ArticlesDelphi12&Lang=EN
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Rafael Mattos
24/05/2011
não sei sua dificuldade mas esse código que vc falou da certinho
coloca um edit1 no seu form e testa esse código
coloca um edit1 no seu form e testa esse código
var
Query : TSQLQuery;
begin
Query := TSQLQuery.Create(Self);
Query.SQLConnection := SQLConnection1; // SQLCONNETION1
Query.SQL.Add('select current_timestamp from rdb$database');
Query.Open;
Edit1.Text := Query.Fields[0].AsVariant;
Query.Free;
end;
GOSTEI 0
Rogerio Sena
24/05/2011
Olá rafmatos valeu funcionou!!!!! porem aparece a data e a hora no campo como deve ficar a sql para apresentar somente a data e somente a hora. obrigado ...
GOSTEI 0
Rogerio Sena
24/05/2011
rafael eu consegui assim: SQLQuery1.SQL.Add('select current_date from rdb$database');
mas tenho uma pergunta utilizando assim é buscada a data do servidor ou do estação cliente?
GOSTEI 0
Wilson Junior
24/05/2011
Coloque assim:
Espero ter colaborado.
CampoData.Text := FormatDateTime( 'dd/mm/yyyy', Query.Fields[0].AsDateTime ); CampoHora.Text := FormatDateTime( 'hh:nn:ss', Query.Fields[0].AsDateTime );
Espero ter colaborado.
GOSTEI 0
Rafael Mattos
24/05/2011
rafael eu consegui assim: SQLQuery1.SQL.Add('select current_date from rdb$database');
mas tenho uma pergunta utilizando assim é buscada a data do servidor ou do estação cliente?
no servidor do banco de dados
GOSTEI 0