Fórum Data no Oracle #213106

10/02/2004

0

Olá... sou novato no BD oracle e estou com o seguinte problema:

Utilizo delphi 6 e dbexpress(TsqlConnection + TSqlDataSet DataSetProvider + ClientDataSet);

TSqlDataset.close;
TsqlDatase.commandtext := ´´;
TsqlDataSet.commandtext := ´SELECT * FROM TABELA WHERE DATA > :parData´;
TSqlDataSet.Parambyname(´parData´).AsString := quotdsrt(DateToStr(date));


Entretanto, percebi que parametros do tipo data para o oracle devem ser formatados com o formato ´dd-mmm-yyyy´. Entao, eu formatei com dd-mmm-yyy e ficou assim:

Ex: 14-jan-2004 --> Aqui tudo bem. o oracle executa e reconhece, não dando erro.

EX2: 12-fev-2004 -- > Já aqui, o oracle não aceita, retornando o erro: ´Not a valid Month´. Depois de certos estudos, percebi que o mês de
fevereiro abreviado no ORACLE é ´feb´, e não ´fev´ (Este último é o padrão do delphi com o formato ´dd-mmm-yyy´. E agora. o que devo fazer para que o sql acima seja passado corretamente para o oracle? :oops:


Rômulo Barros

Rômulo Barros

Responder

Posts

10/02/2004

Aroldo Zanela

Colega,

Verifique o método AsSQLTimeStamp ao invés de AsString.


Responder

Gostei + 0

10/02/2004

Rômulo Barros

VALEU.......................... Deu certo :lol:


Responder

Gostei + 0

02/04/2004

Wagnerpb

Fiz de forma semelhante ao nosso amigo... mudei o paramentro para AsSQLTimeStamp...

Mas quando tento atribui Now ou Date, ocorre um erro...

Alguma sugestão?


Responder

Gostei + 0

02/04/2004

Wtjunior

Olá

Use ALTER SESSION SET NLS_DATE_FORMAT = ´DD/MM/YYYY´ para alterar o tipo de data.
==> mas lembre-se que qdo desligar a máquina volta como alteriormente.

Wilson


Responder

Gostei + 0

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

Aceitar