Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel Chaves

Problemas com data

Recommended Posts

Tenho o seguinte script que tem q retornar os contratos de uma data especifica e quando a data nao eh exibida da data de hoje:

 

<%	tipo = request.querystring("por")								usuario = request.cookies("login")("user_name")	if usuario = "" then	usuario = request.querystring("usuario")	end if	pagina = Request.QueryString("p")	if pagina = "" then	pagina = 1	end if	registros = request.querystring("n")	if registros = "" then	registros = 15	end if	data = request.querystring("data")	if data = "" then	data = date()	end ifset RS = Server.Createobject("AdoDB.RecordSet")set RS.ActiveConnection = connRS.cursortype = 3RS.pagesize = registrosif tipo = "usuario" then	sqlstmt = "Select * From dcontratos where usuario like '%" & usuario & "%' and data like '"& CDate("Data") &"' "RS.Open sqlstmt		  end ifif RS.EOF then%><b><font face="Arial" size="2">Usuário Não possui Contratos no sistema para esta data</font></b><p align="center">			<b><%elseRS.absolutepage = paginaif RS.EOF then%><font face="Arial" size="2">Não foram encontrados mais Contratos </font><%fim = 1end ifxx = 0While NOT RS.EOF AND xx < RS.pagesizexx = xx + 1cpf = rs("cpf")	banco = rs("banco")	tipo = rs("tipo")	status = rs("status")	data = rs("data")	usuario = rs("usuario")	empresa = rs("empresa")	ID = RS("ID")	caminho = rs("caminho")%>
sqlstmt = "Select * From dcontratos where usuario like '%" & usuario & "%' and data like '"& CDate("Data") &"' "

 

ja tentei com Cdata e com # e nenhum dos dois funciona com o # ele nao retorna nada e com o Cdate ele da o seguinte erro:

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis: 'CDate'

/www/centralbank.com.br/www/adm/menucontratos/pesquisacontrato.asp, line 364

 

 

Estou usando SQL e o campo esta formatado como smalldatetime

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procure tbm usar sempre o comando ' SetLocale(1046) ' em sua páginas ASP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

1) no seu código:

sqlstmt = "Select * From dcontratos where usuario like '%" & usuario & "%' and data like '"& CDate("Data") &"' "
Você está passando para a função cDate a String "Data" e não a variável Data.

O correto seria:

sqlstmt = "Select * From dcontratos where usuario like '%" & usuario & "%' and data like '"& CDate(Data) &"' "
Isto consertaria o erro que está sendo exibido, levando em questão que o conteúdo da variável Data seja uma data válida, daí você tem de debugar e tratar o valor se necessário.

 

2) Na sua consulta SQL, para comparar a data você deve usar o operador "=" e não o "like", este último é para textos, mais especificamente para a utilização do coringa (%).

Você tem também de tratar o formato da sua data antes de jogá-la no SQL. O mais recomendável é que você trate a data para um formato tal como

AAAA-MM-DD HH:mm:SS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta a solução para os outros membros verem e deixarmos arquivado! Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

o cod ficou assim e esta funcionando perfeitamente:

 

 

<% tipo = request.querystring("por")		if tipo = "usuario" then		tipo = "Pesquisa por usuário"		end if		if tipo = "empresa" then		tipo = "Pesquisa por Empresa"		end if		if tipo = "Todos" then		tipo = "Pesquisa Geral"		end if %> <%=tipo%> </u></b></p>		<form method="GET" action="pesquisacontrato.asp" name="report">			<p style="text-align: center">Selecione a data desejada para 			consulta:										<input type=text size=12 name=data value="<%=date%>">										<a href="#data">										<img src="../menusistema/trafego/calendar.gif" border=0 onclick="FP_openNewWindow('70', '150', false, false, false, false, false, false, '', /*href*/'../menusistema/trafego/calendar.asp')"></a>   			Quantidade de Registros por Página:<select size="1" name="n">			<option>5</option>			<option>1</option>			<option>15</option>			<option>20</option>			<option>25</option>			<option>30</option>			<option>35</option>			<option>40</option>			<option>45</option>			<option>50</option>			<option>60</option>			<option>70</option>			<option>80</option>			<option>90</option>			<option>100</option>			<option>150</option>			<option>200</option>			<option>300</option>			<option>400</option>			<option>500</option>			</select> 			<input border="0" src="../../images/icones/search.png" name="I1" width="16" height="16" type="image"></p>			<input type="hidden" name="POR" value="<%=request.querystring("por")%>">		</form>		<p style="text-align: center"> </p>		<table border="1" width="100%" style="border-width: 0px">			<tr>				<td style="border-style: none; border-width: medium" width="53"><b>Data</b></td>				<td style="border-style: none; border-width: medium" width="86"><b>CPF</b></td>				<td style="border-style: none; border-width: medium"><b>Nome</b></td>				<td style="border-style: none; border-width: medium" width="152"><b>Banco</b></td>				<td style="border-style: none; border-width: medium; text-align:center" width="42">				Formato </td>				<td style="border-style: none; border-width: medium; text-align:center" width="42"><b>Status</b></td>				<td style="border-style: none; border-width: medium" width="63"><b>Opções</b></td>			</tr>							<%							session.lcid=1046	tipo = request.querystring("por")								usuario = request.cookies("login")("user_name")	if usuario = "" then	usuario = request.querystring("usuario")	end if	pagina = Request.QueryString("p")	if pagina = "" then	pagina = 1	end if	registros = request.querystring("n")	if registros = "" then	registros = 15	end if	data = request.querystring("data")	if data = "" then	datahoje = year(DATE()) & "/" & RIGHT("0" & month(DATE()),2) & "/" & RIGHT("0" & day(DATE()),2)	data = datahoje	end if	empresa = request.cookies("TIPO")("EMPRESA")set RS = Server.Createobject("AdoDB.RecordSet")set RS.ActiveConnection = connRS.cursortype = 3RS.pagesize = registrosif tipo = "usuario" then	sqlstmt = "Select * From dcontratos where usuario like '%" & usuario & "%' and data = ('"&data&"') order by id asc"  RS.Open sqlstmt		  end ifif tipo = "empresa" then	sqlstmt = "Select * From dcontratos where empresa like '%" & empresa & "%' and data = ('"&data&"') order by id asc"  RS.Open sqlstmt		  end ifif tipo = "todos" thenif session("accesslevel") < 4 thenresponse.redirect("default.asp?msg=Você não pode Acessar esse relatório")end ifif session("accesslevel") > 3 then	sqlstmt = "Select * From dcontratos where data = ('"&data&"') order by id asc"  RS.Open sqlstmt		  end ifend ifif RS.EOF then%><b><font face="Arial" size="2">Usuário Não possui Contratos no sistema para esta data</font></b><p align="center">			<b><%elseRS.absolutepage = paginaif RS.EOF then%><font face="Arial" size="2">Não foram encontrados mais Contratos </font><%fim = 1end ifxx = 0While NOT RS.EOF AND xx < RS.pagesizexx = xx + 1cpf = rs("cpf")	banco = rs("banco")	tipo = rs("tipo")	status = rs("status")	data = rs("data")	usuario = rs("usuario")	empresa = rs("empresa")	ID = RS("ID")	caminho = rs("caminho")%>
data = request.querystring("data")

if data = "" then

datahoje = year(DATE()) & "/" & RIGHT("0" & month(DATE()),2) & "/" & RIGHT("0" & day(DATE()),2)

 

sqlstmt = "Select * From dcontratos where usuario like '%" & usuario & "%' and data = ('"&data&"') order by id asc"

 

 

valeu galera a ajuda foi providencial......

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.