Fórum Firebird com milisegundos no Delphi XE3 #455678
18/09/2013
0
Olá a todos, boa noite
Gostaria de solicitar a ajuda do pessoal aí porque gostaria de fazer uma gravação de milisegundos no FB para um protótipo de um joguim de browser, vi que as novas atualizações dele funciona o SQLTimeStamp com milisegundos só que não consigo fazer funcionar...
Utilizo o Delphi XE3 e Firebird 2.5
Minha aplicação utiliza o ClientDataSet pra fazer as inserções, deleções, alterações e todas as operações de banco e já tentei as seguintes estratégias:
Gravação direta em um campo do tipo "Time":
Dessa forma saiu só "hh:mm:ss"
Gravação direta em um campo do tipo "TimeStamp"
Dessa forma gravou dia, mês, ano, hora, minuto e segundo, menos os milisegundos
Gravação com Time em campo TimeStamp
Mesma coisa do de cima, só gravou "HH:MM:SS"
Se alguém tiver ideias, sugestões, gostaria de uma ajuda aí
Agradeço desde já.
Gostaria de solicitar a ajuda do pessoal aí porque gostaria de fazer uma gravação de milisegundos no FB para um protótipo de um joguim de browser, vi que as novas atualizações dele funciona o SQLTimeStamp com milisegundos só que não consigo fazer funcionar...
Utilizo o Delphi XE3 e Firebird 2.5
Minha aplicação utiliza o ClientDataSet pra fazer as inserções, deleções, alterações e todas as operações de banco e já tentei as seguintes estratégias:
Gravação direta em um campo do tipo "Time":
Dessa forma saiu só "hh:mm:ss"
CREATE TABLE tabelateste(
ID integer not null primary key,
hora Time
);
CDS1.FieldByName('hora').asDateTime := time;
Gravação direta em um campo do tipo "TimeStamp"
Dessa forma gravou dia, mês, ano, hora, minuto e segundo, menos os milisegundos
CREATE TABLE tabelateste(
ID integer not null primary key,
hora TimeStamp
);
CDS1.FieldByName('hora').asSQLTimeStamp := DateTimeToSQLTimeStamp(now);
Gravação com Time em campo TimeStamp
Mesma coisa do de cima, só gravou "HH:MM:SS"
CREATE TABLE tabelateste(
ID integer not null primary key,
hora TimeStamp
);
CDS1.FieldByName('hora').asSQLTimeStamp := DateTimeToSQLTimeStamp(time);
Se alguém tiver ideias, sugestões, gostaria de uma ajuda aí
Agradeço desde já.
Mobius One
Curtir tópico
+ 0
Responder
Posts
21/11/2014
Flex Ltda
Dae fera! tudo bem?
Você Conseguiu resolver esse assunto?
Estou com uma solução imperrada por causa deste problema também.
Obrigado pela Ajuda.
Você Conseguiu resolver esse assunto?
Estou com uma solução imperrada por causa deste problema também.
Obrigado pela Ajuda.
Responder
Gostei + 0
22/11/2014
Eduardo Silva.
No Delphi o DisplayFormat para campos Time ou TimeStamp é no formato: 'HH:MM:SS', assim como no IBExpert também.
Para visualizar os milissegundos é só colocar no DisplayFormat do Field como : DD/MM/YYYY HH:MM:SS:MS para Campo do Tipo TimeStamp e
HH:MM:SS:MS para o Tipo Time.
Para visualizar ou efetuar cálculos direto no Firebird, você tem que converter utilizando as funções CAST e EXTRACT.
No Insert no ClientDataSet para o Campo TimeStamp, eu faria:
porquê o campo TimeStamp armazena Data e Hora
Se você fizer por exemplo:
Retorna: 22/11/2014 15:59:03
sds
Eduardo Belo
Para visualizar os milissegundos é só colocar no DisplayFormat do Field como : DD/MM/YYYY HH:MM:SS:MS para Campo do Tipo TimeStamp e
HH:MM:SS:MS para o Tipo Time.
Para visualizar ou efetuar cálculos direto no Firebird, você tem que converter utilizando as funções CAST e EXTRACT.
No Insert no ClientDataSet para o Campo TimeStamp, eu faria:
CDS1.FieldByName('hora').Value := Now;Se você fizer por exemplo:
select current_timestamp from rdb$database
sds
Eduardo Belo
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)