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;
Alguém sabe um modo mais fácil, ou melhor de fazer esta consulta?
Abraços...
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
Curtir tópico
+ 0
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
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.
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
Clique aqui para fazer login e interagir na Comunidade :)