Erro de conversao Date, firebird 1.5

08/12/2005

Olá, tinha uma base que a data estava como VarChar(15), agora quero pegar este campo e jogar na data DATE.

verifico q as datas estao corretas, porem o firebird nao aceita de jeito nenhum fala que a data esta errada, tentei as seguinte formas...:

Tb1Data.AsDateTime := StrToDate(Tb2Data.AsString);
Tb1Data.AsDateTime := StrToDate(Trim(Tb2Data.AsString));
Tb1Data.AsString := Tb2Data.AsString;
Tb1Data.AsDateTime := StrToDate(Substitui(Trim(Tb2Data.AsString), ´/´,´.´));


P.S.: a funcao substitui, substitui um char pelo outro..

Nada funcionou, como eu posso fazer...?


desde já agradeço.


Titanius

Respostas

08/12/2005

Gandalf.nho

Em que formato está a data no campo VARCHAR?


Responder Citar

08/12/2005

Titanius

dd/mm/yyyy


Responder Citar

08/12/2005

Emerson

certifique-se do conteúdo da variável de ambiente ShortDateFormat. ela tem influência direta no resultado de StrToDate().

altere-a para o formato utilizado no seu campo varchar(15)
ShortDateFormat := ´dd/mm/yyyy´;
(note que essa alteração, para ser mais eficiente, precisa estar no seu dpr e não na unit)

Tb1Data.AsDateTime := StrToDate(Trim(Tb2Data.AsString));


Responder Citar

08/12/2005

Titanius

certifique-se do conteúdo da variável de ambiente ShortDateFormat. ela tem influência direta no resultado de StrToDate(). altere-a para o formato utilizado no seu campo varchar(15) ShortDateFormat := ´dd/mm/yyyy´; (note que essa alteração, para ser mais eficiente, precisa estar no seu dpr e não na unit) Tb1Data.AsDateTime := StrToDate(Trim(Tb2Data.AsString));


Valeu emerson, funcionou perfeitamente agora...

Obrigado.


Responder Citar