BUG FIREBIRD: DATAS INVERTIDAS

HEBOX 01/07/2014 12:52:40
#439291
Estou enfrentando dificuldade com um bug que me apareceu somente hoje.

Tenho uma aplicação em VB6 que acessa um banco de dados Firebird 2.5.2 usando ADO 2.8.

O problema:
Executo uma instrução SQL SELECT para recuperar registros de uma determinada tabela que possue campos do tipo TIMESTAMP. Ao pegar o valor de um campo do tipo TIMESTAMP, verifiquei que se o valor for uma data anterior a 01/07/2014, esse valor aparece correntamente para minha aplicação (i.é, no formato dd/mm/yyyy); porém, se o valor for uma data a partir de 01/07/2014, aí o valor aparece no formato americano (mm/dd/yyyy).

Exemplo:
Caso 1:
Valor na tabela: 20/06/2014
Valor retornado: 20/06/2014

Caso 2:
Valor na tabela: 01/07/2014
Valor retornado: 07/01/2014

Preciso encontrar uma solução definitival para esse problema.

Toda ajuda e sugestões são bem-vidas.

Grato.
GUIMORAES 01/07/2014 13:28:53
#439293
Sempre utilizei o tipo DATE para datas no firebird e nunca tive este problema.
Uma solução seria passar o valor da data como parâmetro, sem formatação.

ex:
Select codigo from tabela where dataCad = ?

.Parameters.Append .CreateParameter([Ô]dataCad[Ô], adDate, adParamInput)
.Parameters([Ô]dataCad[Ô]) = Date

Abraços
Faça seu login para responder