Ir para conteúdo

Arquivado

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

fabio_br

filtrando intervalo de datas

Recommended Posts

EStou tentando realizar um filtro onde recupero via formulário um intervalo de datas por exemplo quero obter quais pedidos foram entre a data 15/04/2008 e a data 02/05/2008. Fiz a seguinte consulta:

 

<%

Dim rsOrders__MMColParam

rsOrders__MMColParam = "%"

If (Request.Form("data") <> "") Then

rsOrders__MMColParam = Request.Form("data")

End If

%>

<%

Dim rsOrders__data2

rsOrders__data2 = "%"

If (Request.Form("data2") <> "") Then

rsOrders__data2 = Request.Form("data2")

End If

%>

<%

Dim rsOrders

Dim rsOrders_cmd

Dim rsOrders_numRows

 

Set rsOrders_cmd = Server.CreateObject ("ADODB.Command")

rsOrders_cmd.ActiveConnection = MM_mysqlcatvi_STRING

rsOrders_cmd.CommandText = "SELECT OrderID, Customer_ID, DataVencimento, OrderDate, ShipMethod, nome, payment_status, delivery_status, Protocolo FROM orders WHERE OrderDate BETWEEN ? AND ?"

rsOrders_cmd.Prepared = true

rsOrders_cmd.Parameters.Append rsOrders_cmd.CreateParameter("param1", 135, 1, -1, rsOrders__MMColParam) ' adDBTimeStamp

rsOrders_cmd.Parameters.Append rsOrders_cmd.CreateParameter("param2", 135, 1, -1, rsOrders__data2) ' adDBTimeStamp

 

Set rsOrders = rsOrders_cmd.Execute

rsOrders_numRows = 0

%>

<%

Dim Repeat1__numRows

Dim Repeat1__index

 

Repeat1__numRows = 10

Repeat1__index = 0

rsOrders_numRows = rsOrders_numRows + Repeat1__numRows

%>

 

Estou usando o campo do tipo DATE no mysql.

 

A busca não retorna resultados nem erros.

 

Tentei colocando 2008-05-03, 2008/05/03, 03/05/2008, mas independente do tipo de data que envio via formulário sempre a busca naum retorna resultados.

 

O que está errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT OrderID, Customer_ID, DataVencimento, OrderDate, ShipMethod, nome, payment_status, delivery_status, Protocolo FROM orders WHERE OrderDate BETWEEN "2008-01-01" AND "2008-12-01"

 

Tenta fazer essa consulta diretamente na sua DB. Se não conseguir, é porque não há datas nesse intervalo, ou o seu campo é DATETIME, e no caso, você teria que tacar um DATE(`OrderDate`) pra comparar.

Eu não entendo nada de ASP (to acreditando que seja ASP). Lembre-se sempre de transformar datas de DD/MM/AAAA para AAAA-MM-DD porque esse é o formato correto de data no campo DATE

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.