Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Prezados colegas,
Na minha página ASP, tenho um campo chamado inData1.
A data nele é digitada assim pelo usuário, neste formato: 13/03/2008
A data digitada nele é repassada para a variável dataIni.
Verifiquei que no campo a ser pesquisado na tabela SQL Server, a data se encontra neste formato: 2008-03-13.
A query de Consulta é assim:
**strLista=" SELECT * FROM CHEQUE WHERE CONBANCODIGO="&ReQuest.QueryString("inContaBancaria")&" AND CheDataConciliado BETWEEN cast("&request.QueryString("dataIni")&" as smalldatetime) AND cast("&request.QueryString("dataFim")&" as smalldatetime) ORDER BY CheDataConciliado"**
A query já está preparada para consultar o formato de data armazenado no campo da tabela, pois teste antes e não preciso mexer em nada nela.
Como faço para converter a data recebida no campo inData1 no formato 13/03/2008, para o formato 2008/03/13 a ser repassado para a variável dataIni e por fim ser usado na query de consulta?
Preciso da sua ajuda para isso.
Aguardo vocês.
faça uma consulta no forum que existe uma funcao para converter a data,
você pode usar o Session.LCID = 1046, para exibir os dados e para gravar pode usar assim:
data = day("data")&"-"&month("data")&"-"&year("data")& "00:00:00.000"
ou
<%
Function datas( Hoje )
Dia = Day(date)
Mes = Month(date)
Ano = Year(date)
Hoje = Dia & " / " & Mes & " / " & Ano
datas= Hoje
End Function
%>
Taí, eu mesmo resolvi.
Criei a seguinte função em Asp:
<%
function formatadata(data)
'--Criando um vetor para teste
vVetor = "0,1,2"
vVetor = Split(data,"/")
new_data = vVetor(2)&"-"&vVetor(1)&"-"&vVetor(0)
formatadata = new_data
end function
%>
depois eu chamei a função na query, da seguinte forma:
strLista=" SELECT * FROM CHEQUE WHERE CONBANCODIGO="&ReQuest.QueryString("inContaBancaria")&" AND CheDataConciliado BETWEEN '"&formatadata(request.QueryString("dataIni")) &"' AND '"&formatadata(request.QueryString("dataFim"))&"' ORDER BY CheDataConciliado"
É isso aí. Até mais.
Obrigado aos q me ajudaram.
Edwilson,
coloca "set dateformat dmy;" na sua query
fica assim
strLista="set dateformat ymd; SELECT * FROM CHEQUE WHERE CONBANCODIGO="&ReQuest.QueryString("inContaBancaria")&" AND CheDataConciliado BETWEEN cast("&request.QueryString("dataIni")&" as smalldatetime) AND cast("&request.QueryString("dataFim")&" as smalldatetime) ORDER BY CheDataConciliado"
se não der certo te ajudo a fazer uma função pra converter as datas em formato americano