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,
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
Curtir tópico
+ 0
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
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,
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
Clique aqui para fazer login e interagir na Comunidade :)