Fórum Erro ao converter uma string vazia em date #523254

18/06/2015

0

Tem uma tabela onde a coluna data é do tipo string. Quando vou exportar preciso transformar em date para usar a FormatDateTime.

Que que quando acha um campo vazio da erro.

DataFundacao := FormatDateTime('yyyy-mm-dd', strtodate(DataOriginal));

Erro.:

''is not a valid date.

Como posso resolver?
Adalmir

Adalmir

Responder

Post mais votado

18/06/2015

Usa um if
if DataOriginal <> '' then
  DataFundacao := FormatDateTime('yyyy-mm-dd', strtodate(DataOriginal));

Gabriel Baltazar

Gabriel Baltazar
Responder

Gostei + 1

Mais Posts

19/06/2015

Douglas

Olá Adalmir, você também pode utilizar a seguinte expressão abaixo:

DataFundacao := FormatDateTime('yyyy-mm-dd', strtodatedef(DataOriginal, 0));
Responder

Gostei + 1

22/06/2015

Adalmir

Olá Adalmir, você também pode utilizar a seguinte expressão abaixo:

DataFundacao := FormatDateTime('yyyy-mm-dd', strtodatedef(DataOriginal, 0));


Dougla seu código esta muito pratico porem quando o campo esta vazio ele esta retornando o valor 1899-12-30.
Como corrijo para retornar vazio?
Responder

Gostei + 0

24/06/2015

Douglas

Olá Adalmir,
Desta forma você terá que fazer um pequeno tratamento mesmo. A dica do amigo Baltazar corrigi o seu problema ou o código abaixo:


Try
  DataFundacao := FormatDateTime('yyyy-mm-dd', strtodate(DataOriginal));
except
  DataFundacao := EmptyStr;
end;

Responder

Gostei + 0

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

Aceitar