Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hellxande

[Resolvido] Como fazer uma busca pela Data

Recommended Posts

Prezados

 

Venho novamente pedir ajuda a vocês, pois estou com dificuldades em obter os registro de Banco de Dados (MySql) através de um campo Date.

Segue abaixo o Select que estou usando, porém não me retorna nada mesmo tendo registro no banco.

 

sql = "SELECT * FROM Agenda where AgendaData = curdate()"

 

Ps: O Campo esta como Date e os registro estão assim "AAAA-MM-DD"

 

Desde já agradeço a ajuda.

 

Atenciosamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

os campos armazenam a hora ? porque se armazenam, nessa query você so estará pegando os registros que tenham a hora 00:00:00

 

Prezado fabiosantos, obrigado pela resposta.

 

Não o campo é somente do Tipo Date, não armazena hora, apesar de eu ja ter tentado como DateTime tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque DateTime, e use NOW() no Where.

 

Prezado Justin,

 

Tentei da maneira que sugeriu e mesmo assim não funcionou, segue abaixo a Instrução completa que usei

TabAgenda = Server.CreateObject("adodb.recordset")
sql = "SELECT * FROM Agenda where AgendaData = now()"
set TabAgenda = Conexao.execute(sql)

 

Os registro no Banco estão da seguinte forma:

 

AgendaID - AgendaData

(Int) - (DateTime)

1 - 2011-05-26 00:00:00

3 - 2011-05-25 00:00:00

 

Ou seja, mesmo tendo registros no banco, continua não me trazendo nada e nem apresentando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu querido, faz o seguinte.. crie um função.

pode ser em um arquivo externo ou não, fica no seu critério.

config.asp

function mask_data( obj )
	obj = CDAte( obj )
	dia = Day( obj  )
	mes = Month( obj )
	ano = Year( obj )

		if dia < 10 then
			dia = "0" & dia
		end if

		if mes < 10 then
			mes = "0" & mes
		end if

	 mask_data = ano &"-"& mes &"-"& dia
end function

Se fizer pelo arquivo externo voce tem que chamar ele na pagina onde esta fazendo o select atraves de um inclube.

<!--#include file="config.asp"--> 
TabAgenda = Server.CreateObject("adodb.recordset")
sql = "SELECT * FROM Agenda where AgendaData = mask_data(now())"
set TabAgenda = Conexao.execute(sql)

 

Isso deve funcionar.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você rodar esta consulta:

SELECT * FROM Agenda where AgendaData = now()

 

Direto no MySQL ele retorna algum erro ?

 

 

Prezados amigos.

 

Primeiramente gostaria de me desculpar, pois quando postei a dúvida em questão não percebi que estava manipulando o Banco errado, sendo assim realmente não retornava informação nenhuma, pois não tinha nada a apresentar, porém o código estava certo. Qdo troquei de máquina de desenvolvimento é q fui percebi a besteira, mas de qq forma muitissimo obrigado a todos e desculpe o transtorno.

 

Atenciosamente

 

Ps: Segue abaixo o trecho que realmente esta funcionando corretamente.

 

select * from Agenda where AgendaData = curdate() order by AgendaData, AgendaPalco desc

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.