Data

Delphi

20/11/2003

Tenho um campo data em minha tabela, uso paradox. No bd configurei o campo como D (date). No form tenho 2 botões com os quais faço a seguintes consultas sql:

1° Botão: Consultar datas menores que a do maskedit2

query1.close;
query1.sql.clear;
query1.sql.add (´select * from data where data <´+quotedstr(maskedit2.text)+´order by data´);
query1.open;

2° Botão: Consultar datas maiores que a do maskedit2

query1.close;
query1.sql.clear;
query1.sql.add (´select * from data where data >´+quotedstr(maskedit2.text)+´order by data´);
query1.open;

Quando a data é por exemplo:28/11/1970 e tenho ela gravada na tabela e aperto o 1º botão, para consultar datas menores que esta, recebo a msg:
TYPE MISMATCH IN EXPRESSION

Qual o meu erro ?
Alguém poderia me dar uma ajuda ??

E sem querer abusar, como seria com o componente table ??

Valeu galera, um abraço a todos !!


Seneca

Seneca

Curtidas 0

Respostas

Rafael_gamba

Rafael_gamba

20/11/2003

Seu erro é simples. Veja o que vc escreveu :

query1.sql.add (´select * from data where data <´+quotedstr(maskedit2.text)+´order by data´);

Você está comparando uma data com uma string.
Compare data com data ex:

query1.sql.add (´select * from data where data <´+StrToDate(maskedit2.text)+´order by data´);

faça isso nas duas instruções!!

Um abraço!!!


GOSTEI 0
Namerda

Namerda

20/11/2003

VOCE PRECISA APENAS COLOCAR A DATA ENTRE ASPAS :

query1.sql.add (´select * from data where data < ´´+quotedstr(maskedit2.text)+´´ order by data´);


AJUDOU ???


OBS... ACHO Q A DICA DO COLEGA ACIMA NAUM FUNCIONA...


GOSTEI 0
Denis200

Denis200

20/11/2003

caro colega com o componete table ficaria da seginte forma

tabela.filter:=´data <´+#39+maskedit2.text+39;

tente desta forma comigo funcionou.


GOSTEI 0
Seneca

Seneca

20/11/2003

Obrigado a todos que tentaram me ajudar, vou tentar todas as dicas !


Valeu.


GOSTEI 0
Vanius

Vanius

20/11/2003

Fera, tente isto.
Acho q fica mais apresentavel.

query1.sql.add (´select * from data where data < :Data order by data´);
query1.ParamByName(´Data´).Value := StrToDateTime(maskedit2.text);

[]s,


Vanius
vaniusg@terra.com.br


GOSTEI 0
POSTAR