Select entre datas

12/12/2003

1

Galera, a dúvida é a seguinte:
estou tentando fazer um select de dados de uma tabela, onde o usuário entra com duas datas e o resultado será tudo o que houver entre essas datas. Estou usando o código:

with query1 do
begin
close;
sql.clear;
select * from tabela where data between ´+quotedstr(edit1.text)+´ and ´+quotedstr(edit.text)+´;
execsql;
open;
end;

Não aperece mensagem de erro, mas também não surge resultado nenhum... Alguma sugestão?!
Abraços,[/code]


Responder

Posts

12/12/2003

Biscoitorfa

testa colocando mes dia ano

tem muitos banco que são assim! Ou então cria parametros e passa essa data não como texto e sim como um parametro da query!

se funcionar com mes dia ano usa o decodedate(data,dia,mes,ano)

variaveis dia me ano do tipo word

ok abraços


Responder

12/12/2003

Frare

Olá,

Tire a linha execsql, e verifique se as tadas enviadas estão na faixa.

Exe. use o ibexpres para verificar as instruções sql.

Espero ter ajudado. :wink:


Responder

12/12/2003

Rfaraujo

Cara verifique o tipo do seu campo no banco de dados se o seu campo
for do tipo Date, vc tem que converte-lo:
veja como ficaria:

select * from tabela where data between ´+quotedstr(strtoDate(edit1.text))+´ and ´+quotedstr(strToDate(edit.text))+´;


Responder

12/12/2003

Clark

Postei uma mensagem semelhante.
Recebi algumas respostas, as quais nao consegui utilizar, talvez encontre uma que ajude (Se conseguir me avise, como).
Utilize a opção pesquisa do clube e procure por ´Relatório Por Data´.

:roll: Falow.
T+!
bambamba2@bol.com.br


Responder

12/12/2003

Pedro Bugim

De fato, coloquei equivocadamente a linha de comando execsql.
Quanto à passagem por parâmetros, resolvi não utilizá-la pois tratava-se de um simples select, bem curto.
O campo na tabela não é do tipo data, mas sim varchar, portanto a conversão não se faz necessária.
Na verdade, solucionei o problema mudando a ordem na data, utilizando o formato mes dia ano.
Valeu mesmo galera!!!
Abraços,[/code]


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira