• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pmaster

[RESOLVIDO] Query entre 2 datas

10 mensagens neste tópico

Boa tarde a todos

Pessoal é o seguinte, eu tenho 2 timepikers e uso-os como referencia, para fazer uma query que é a seguinte:

sql = "Select * from movi where  dataop >= # " & DateTimePicker1.Text & " # and dataop <= # " & DateTimePicker2.Text & " #  ORDER BY dataop ASC;"

Mas esta query nao me retorna nada, e já me sentifiquei que tenho dados na base de dados.

Alguem me pode ajudar?

Obrigado ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vê em debug como fica a variável sql depois de ter sido afectada com os valores dos datetime pickers e mostra aqui o resultado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já tive o cuidado de ver como fica em debug, testei agora de novo e fica da seguinte maneira:

dataop <= # 03-12-2009 # and dataop >= # 06-12-2009 #

Desde já obrigado ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E se executares a query directamente na base de dados, funciona?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu faço sempre da seguinte maneira.. Não entendo é porque razão nao consigo realizar esta pesquisa.

 
sql = "Select * from movi where  dataop >= # " & DateTimePicker1.Text & " # and dataop <= # " & DateTimePicker2.Text & " #  ORDER BY dataop ASC;"
da.SelectCommand.CommandText = sql
ds.Clear()
da.Fill(ds, "movi")

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei se ajuda, mas por exemplo se eu tiver 2 registo, um no dia 3-12-09 e outro no dia 4-12-09

Se escolher datas do genero, entre 15-11-09 2 30-12-09, ele já me retorna os registos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta formatar a Data para o formato internacional "YYYY-MM-DD", ou para o sistema Americano "MM-DD-YYYY".

Acontece que na data "30-12-2009"  o mês 30 não existe e o sistema busca um formato possivel, neste caso o "DD-MM-YYYY".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já tive o cuidado de ver como fica em debug, testei agora de novo e fica da seguinte maneira:

dataop <= # 03-12-2009 # and dataop >= # 06-12-2009 #

Desde já obrigado ;)

Que data é que é menor ou igual a 3-12-2009 e ao mesmo tempo maior ou igual a 6-12-2009 ?

Eu nao conheco nenhuma, se nao esta a retornar nada quer dizer que esta a fazer bem  :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

PWLL obrigado por me chamares à atenção.. Eu escrevi mal aqui no forum, mas no programa tenho escrito acho que correctamente.

Fica a correcção.

dataop >= # 03-12-2009 # and dataop <= # 06-12-2009 #

Obrigado ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Consegui resolver o problema.

Fiz com o FreiNando disse, transformei a data em sistema Americano "MM-DD-YYYY" e funcionou na perfeição.

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora