Fórum Problemas com data. BD: Paradox #173506

07/08/2003

0

Olá a todos...

Estou com um pequeno problema...

Estou usando o Paradox, e ele aceita data somente no formato dd/mm/yyyy, só que eu não preciso que mostre o ano, pois é apenas um cadastro de data de aniversário.

Resolví o problema, colocando um código que acrescente o ano /2003 no final da data.

Agora, o poblema é, procurar, por exemplo, apenas os aniversarivantes do mês de agosto.

Não pode ser usado o método like, então tentei usar o between.

Só que deu Type mismatch.

Código;

select * from clientes where aniv between 01/08/2003 and 31/08/2003


Alguém sabe um modo mais fácil, ou melhor de fazer esta consulta?

Abraços...


Callegaro

Callegaro

Responder

Posts

07/08/2003

Edineidaniel

BLZ,

Bom se tratando de datas vc tem que realizar um pesquisa entre as mesmas.
A melhor forma de fazer isso é usando parâmetros no código SQL. Ex:
Vc tem um formulário de pesquisa de datas. No mesmo tem um campo para digitar a data inicial e a data final(dois MaskedEdt). e um botão de busca.

No evento OnClick do Botão de busca vc coloca o seguinte código.:
query1.close;
query1.SQL.Clear;
query1.sql.add(´select * from datas´);
query1.sql.add(´where Datainicial>=:data1 and Datafinal<=:data2´);
query1.sql.add(´order by datainicial´);
query1.params[0].DataType:=ftDate;
query1.params[1].DataType:=ftDate;
query1.params[0].asdatetime:=strtodate(Edit2.text);
query1.params[1].asdatetime:=strtodate(Edit3.text);
query1.open;
query1.active:=true;

Espero que isso te ajude...

Edinei


Responder

Gostei + 0

07/08/2003

Aroldo Zanela

Colega,

As datas nas consultas SQL devem ser passadas no formato mm/dd/yy entre literais. Isto pode ser resolvido usando a função QuotedStr. No entanto, neste caso recomento utilizar a função SQL ANSI-92 Extract(Month from Coluna) para pegar todos os aniversariantes do mês.


Responder

Gostei + 0

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

Aceitar