Data no Oracle

Delphi

10/02/2004

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

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

10/02/2004

Colega,

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


GOSTEI 0
Rômulo Barros

Rômulo Barros

10/02/2004

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


GOSTEI 0
Wagnerpb

Wagnerpb

10/02/2004

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?


GOSTEI 0
Wtjunior

Wtjunior

10/02/2004

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


GOSTEI 0
POSTAR