Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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