consulta por datas me retorna vazio... Preciso de ajuda.
04/12/2003
0
fiz a seguinte consulta na adoquery:
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add(´select * from tabela´);
adoquery.sql.add(´ where campodata between´);
adoquery.sql.add(´ # ´+maskedit1.text+´ and ´+maskedit2.text+´´);
adoquery.open;
se, por ventura existir um registro com data igual a 01/01/2003 e eu digitar nos dois maskedit 01/01/2003
ele me retorna vazio.
quando eu faço isso em tempo de projeto ele me retorna todos os registros datados em 01/01/2003 mas em tempo de execução ele me retorna vazio(nada).
sabe me explicar o que está havendo???
Muito Grato,
_____________________________________
Saulo Mendes
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add(´select * from tabela´);
adoquery.sql.add(´ where campodata between´);
adoquery.sql.add(´ # ´+maskedit1.text+´ and ´+maskedit2.text+´´);
adoquery.open;
se, por ventura existir um registro com data igual a 01/01/2003 e eu digitar nos dois maskedit 01/01/2003
ele me retorna vazio.
quando eu faço isso em tempo de projeto ele me retorna todos os registros datados em 01/01/2003 mas em tempo de execução ele me retorna vazio(nada).
sabe me explicar o que está havendo???
Muito Grato,
_____________________________________
Saulo Mendes
Saulopms
Curtir tópico
+ 0
Responder
Posts
04/12/2003
Deus
Bem, eu tinha um problema semelhante quando tentava fazer buscas por data utilizando SQL Server (não sei qual o banco de dados você está usando), mas talvez ajude esta mudança:
Onde você usa
experimente usar
Em SQL Server, mesmo quando as datas não continham hora, elas só retornaram o valores quando eu adicionei que tinha que ser entre as 0h do dia inicial e o último segundo do dia final. Nem sei se na sintaxe SQL do seu banco é assim que se escreve, mas experimente (e mude para a sintaxe correta, caso não seja essa) e me avise se funcionou. ;)
Espero ter ajudado! Abraços, dEUS
Onde você usa
adoquery.sql.add(´ # ´ + maskedit1.text + ´ and ´ + maskedit2.text + ´´);
experimente usar
adoquery.sql.add(´ ´ + maskedit1.text + ´ 00:00:00 and ´ + maskedit2.text + ´23:59:59´);
Em SQL Server, mesmo quando as datas não continham hora, elas só retornaram o valores quando eu adicionei que tinha que ser entre as 0h do dia inicial e o último segundo do dia final. Nem sei se na sintaxe SQL do seu banco é assim que se escreve, mas experimente (e mude para a sintaxe correta, caso não seja essa) e me avise se funcionou. ;)
Espero ter ajudado! Abraços, dEUS
Responder
Clique aqui para fazer login e interagir na Comunidade :)