Firebird com milisegundos no Delphi XE3
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
Curtidas 0
Respostas
Flex Ltda
18/09/2013
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.
GOSTEI 0
Eduardo Silva.
18/09/2013
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
GOSTEI 0