TimeStamp X DateTime X Date
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???
Grata,
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???
Grata,
Renata
Curtir tópico
+ 0
Responder
Posts
05/03/2003
Anonymous
Vc Já experimentou criar uma variável do tipo data, e mover o conteúdo (parâmetro) para esta variável e depois fazer o seguinte, Suponhamos que o nome da variável seja Data1.
parambyname(´data_ini´).asDate := Data1;
Tive este mesmo problema e fazendo isso funcionou.
Espero ter à ajudado e qualquer coisa me comunique ! ! !
eduardo_urbano@bol.com.br
parambyname(´data_ini´).asDate := Data1;
Tive este mesmo problema e fazendo isso funcionou.
Espero ter à ajudado e qualquer coisa me comunique ! ! !
eduardo_urbano@bol.com.br
Responder
Clique aqui para fazer login e interagir na Comunidade :)