URGENTE!!! Interbase TimeStamp

05/03/2003

0

OI pessoal!

Eu tinha um sistema em Delphi 5 c/ paradox e acabo de converter todo ele p/ Delphi 7 c/ Interbase.

O fato é que durante a conversão, eu mudei todos os campos da tabela que era do tipo Date para TimeStamp.
Agora estou c/ um grave problema.

Todos os meus Sqls e até locates estão fazendo comparacoes c/ apenas as datas. Mas, c/ o campo timestamp, ele requer a hora tb.

Ai algo como

´ ... where data >= :data_ini and ´
´ data <= :data_fim and ...´

parambyname(´data_ini´).value := StrToDate(data_ini.text);
parambyname(´data_fim´).value := StrToDate(data_fim.text);

Não funciona qdo as dtas solicitadas é exatamente a mesma do registro em questao.
Eu tive que mudar a passagem dos parâmetros p/:

parambyname(´data_ini´).value := StrToDateTime(data_ini.text + ´ 00:00:00´);
parambyname(´data_fim´).value := StrToDateTime(data_fim.text + ´ 23:59:59´);

Neste caso funciona.
Mas as vezes quero passar como parametro uma data que esta na tabela. Algo como:

parambyname(´data´).value := minhatabelaData_admissao.value;

Só que ai nao funciona por causa da bendita hora que o Interbase compara. Não tem como eu desabilitar esta comparacao c/ as horas??? Ou senão, especificar p/ SEMPRE o sistema gravar a mesma hora, independente da hora da máquina.

Alguma ajuda????


Grata,


Renata

Renata

Responder

Posts

05/03/2003

Espiridiao

Não uses TIMESTAMP mas DATETIME, porque o TIMESTAMP tem um formato que permite guardar a data e a hora até ao milisegundo, servindo só para comtrolar-mos por exemplo quando um registo foi criado ou actualizado:
filedname:=NOW();

cmps


Responder

05/03/2003

Renata

Acho que vcs. podem me ajudar!

Eu crio minhas databases no IBExpert Personal. Qdo abro elas lá ele
mostra em azulzinho uma mensagem dizendo que está usando o Dialect 3.
Eu fui lá e criei um campo novo na minha tabela do tipo Date para testar.
Ele criou numa boa. Mas na execucao do programa, qdo abro a tabela, ele
dá o seguinte erro:

Project meuprojeto.exe raised exception class EDBEngineError with message
´General SQL Error.
Column unknow
CAMPO_DATA
Client SQL Dialect 1 does not suport reference to DATE datatype´
Process stoped. Use step or run to continue.


Agora me diga, PORQUE ELE APARECE FALANDO QUE O DIALECT 1 NAO ACEITA O
TIPO DATA SE QDO EU CRIEI A DATABASE EU A CRIEI C/ DIALECT 3????

P/ mim é ai que está o problema!!!

Uso Interbase versao 6.0

Podem me ajudar????


Grata,


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar