Ir para conteúdo

Arquivado

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

estranho.com

[Resolvido] Paginação asp

Recommended Posts

olá galera... estou usando essa paginação q eu encontrei aqui no forun ela funciona beleza... só q eu tenho q fazer uma SQL direta sem o if acontece q eu gostaria de usar essa opção só q está dando um erro na SQL qual o erro?

 

erro '80004005'

/paginacao.asp, line 38

 

<html>
<head>
<title> Paginação </title>
<style type="text/css">
	body, td {font: 11px Tahoma; color: black;}
	A:link {font: 11px Tahoma; color: black; text-decoration: none;}
	A:hover {font: 11px Tahoma; color: #FF9900; text-decoration: none;}
	A:visited {font: 11px Tahoma; color: black; text-decoration: none;}
</style>
</head>

<body>
<%
Dim letra,letras,DSNtest,Conn,RS
PagAtual = Request.QueryString("PagAtual")
letra = Request.QueryString("Letra")
letras = "#0123456789ABCDEFGHIJKLMNOPQRSTUVXYZ"

Set Conn= server.createobject("adodb.connection")
DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/intinerario.mdb")
Conn.Open DSNtest


Set RS= Server.CreateObject("ADODB.Recordset") 


If letra = "" Then 
	letra = "A" 
	SQL = "SELECT * FROM listas WHERE Local LIKE 'A%' Order by Local ASC" 
Else If letra = "Todas" Then 
		SQL = "SELECT * FROM listas Order by Local ASC" 
	Else
		SQL = "SELECT * FROM listas WHERE Local LIKE '"&letra&"%' Order by Local ASC" 
	End if
End If 


RS.Open SQL, conn, 3,3

If RS.EOF Then 
	Response.write("<table cellpadding=""5"" width=""600"">")
	Response.write("<tr><td align=""center"">")
	For i = 1 to 36 
		Response.write("<a href=paginacao.asp?letra="&Replace(Mid(letras, i,1),"#", "Todas")&"><b>"&Replace(Mid(letras, i,1),"#", "Todas")&"</b></a>  ") 
	Next

	Response.write("<br><br><table cellpadding=""5"" width=""600"">")
	Response.write("<tr><td bgcolor=""#F0F0F0"">Nenhum registro encontrado!</td></tr>")
	Response.write("</table>")
	Response.write("</td></tr></table>")
	
Else	

Const NumPorPage = 20

   Dim PagAtual

   IF Request.QueryString("PagAtual") = "" Then
			   PagAtual = 1
		 Else
				PagAtual = Request.QueryString("PagAtual")
   End If

   RS.CacheSize = NumPorPage 

	RS.MoveFirst				
	RS.PageSize = NumPorPage   

	Dim TotalPages			  
	TotalPages = RS.PageCount

	RS.AbsolutePage = PagAtual 

Count = 0  

Response.write("<table cellpadding=""5"" width=""600"">")
Response.write("<tr><td align=""center"">")

i = 0 

For i = 1 to 36 
  Response.write("<a href=paginacao.asp?letra="&Replace(Mid(letras, i,1),"#", "Todas")&"><b>"&Replace(Mid(letras, i,1),"#", "Todas")&"</b></a>  ") 
Next	


Response.write("<br><br><table cellpadding=""5"" width=""600"">")

Do While Not RS.EOF And Count < RS.PageSize 

	if i mod 2<>0 then
		cor = "#F0F0F0"
	else
		cor = "#E8E8E8"
	end if 
%> 

<tr style="cursor: hand;">
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Local")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Motivo")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Data")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Horas")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Obs")%></td>
</tr>

<%
	i = i+1
	Count = Count + 1  
	RS.MoveNext
Loop			  

response.write("</table><br>")
Response.Write("<B>Página " & PagAtual & " de " & TotalPages & " </B> - ")   

If PagAtual > 1 Then 
	Response.Write("<B>") 
	Response.Write("<a href='paginacao.asp?PagAtual=" &  1 & "&Letra="&letra&"'>")
	Response.Write("Primeira") 
	Response.Write("</a></B> ")
	  
	Response.Write("<B>") 
	Response.Write("<a href='paginacao.asp?PagAtual=" & PagAtual - 1 & "&Letra="&letra&"'>")
	Response.Write("Anterior") 
	Response.Write("</a></B>  ")
Else 
	Response.Write("Primeira ") 
	Response.Write("Anterior  ") 
End If

max_n_mostrados = 9

intervalo = Int(max_n_mostrados /2)
inicio = PagAtual - intervalo
final = PagAtual + intervalo

If CInt(inicio) <1 Then 
	inicio = 1
	final = 10
End If

If CInt(final) > CInt(TotalPages) Then final = TotalPages

	For i = inicio To final
		If CInt(i)=CInt(PagAtual) Then
			Response.Write "<B>" & i & "</B>  "
		End If

		If CInt(i) < CInt(PagAtual) Then
			Response.Write "<a href='paginacao.asp?PagAtual=" & i & "&Letra="&letra&"'>" & i & "</a>  "
		End If

		If CInt(i) > CInt(PagAtual) Then
			Response.Write "<a href='paginacao.asp?PagAtual=" & i & "&Letra="&letra&"'>" & i & "</a>  "
		End If
	Next


	If CInt(PagAtual) <> CInt(TotalPages) Then
		Response.Write("  <B>")
		Response.Write("<a href='paginacao.asp?PagAtual=" & PagAtual + 1 & "&Letra="&letra&"'>")
		Response.Write("Próxima")
		Response.Write("</a></B>") 

		Response.Write(" <B>")
		Response.Write("<a href='paginacao.asp?PagAtual=" & TotalPages & "&Letra="&letra&"'>")
		Response.Write("Ultima")
		Response.Write("</a></B>")		

	Else
		Response.Write("  Próxima") 
		Response.Write(" Ultima")
	End If 
End If

Response.write("</td></tr></table>")

Rs.Close  
Set RS = Nothing
Conn.Close	  
Set Conn = Nothing	   
   
%> 

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual IF você se refere? da query?

se é isso, porque não faz uma stored procedure ou um CASE dentrro de uma view?

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é a linha do erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro esta neste if

meu bano se chama intinerario e a tabela se chama listas e o campo principal se chama local...

If letra = "" Then 
	letra = "A" 
	SQL = "SELECT * FROM listas WHERE Local LIKE 'A%' Order by Local ASC" 
Else If letra = "Todas" Then 
		SQL = "SELECT * FROM listas Order by Local ASC" 
	Else
		SQL = "SELECT * FROM listas WHERE Local LIKE '"&letra&"%' Order by Local ASC" 
	End if
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que postar a linha correta do erro. E de preferência toda a especificação do erro.

 

A principio parece está ok o que você postou... sem mais detalhes fica dificil entender o que está acontecendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe se me espresei mau... aparece o seguinte erro...

erro '80004005' 
/paginacao.asp, line 38

que indica a linha da sql onde esta o if só q não da mais detalhes...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em cima da linha do RS.open, coloque assim:

response.write SQL

response.end

 

Posta o que retorna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste mais detalhes do erro. Se não souber o que postar, copia o HTML inteiro do erro e posta aqui.

 

Só a linha não resolveu e a SQL parece está correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual if so para ser mais preciso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei se é um deles mais se eu colocar apenas

SQL = "SELECT * FROM listas" funciona beleza mais nao funciona a pesquisa por letras "ABCDEFG..."

 

If letra = "" Then 
	letra = "A" 
	SQL = "SELECT * FROM listas WHERE Local LIKE 'A%' Order by Local ASC" 
Else If letra = "Todas" Then 
		SQL = "SELECT * FROM listas Order by Local ASC" 
	Else
		SQL = "SELECT * FROM listas WHERE Local LIKE '"&letra&"%' Order by Local ASC" 
	End if
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na tabela listas possui o campo LOCAL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procurando pelo http://forum.imasters.com.br/public/style_emoticons/default/searchbeforeposting.gif por este erro encontrei este topico em outro forum

 

O usuario esclarece algumas possibilidades para este erro que tambem no google vi ser generico demais

 

http://forum.clubedohardware.com.br/erro-8...189771?t=189771

 

Veja se ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Local é palavra reservada

 

use-a entre colchetes e veja o que acontece

Compartilhar este post


Link para o post
Compartilhar em outros sites

Local é palavra reservada

 

use-a entre colchetes e veja o que acontece

 

Justa mente... eu ja estava postando a solução do erro..

 

tive q mudar o nome do campo no banco de dados e no código ai fi cou 100%

 

ta ai como ficou... vlw galera

 

<html>
<head>
<title> Paginação </title>
<style type="text/css">
	body, td {font: 11px Tahoma; color: black;}
	A:link {font: 11px Tahoma; color: black; text-decoration: none;}
	A:hover {font: 11px Tahoma; color: #FF9900; text-decoration: none;}
	A:visited {font: 11px Tahoma; color: black; text-decoration: none;}
</style>
</head>

<body>
<%
Dim letra,letras,DSNtest,Conn,RS
PagAtual = Request.QueryString("PagAtual")
letra = Request.QueryString("Letra")
letras = "#0123456789ABCDEFGHIJKLMNOPQRSTUVXYZ"

Set Conn= server.createobject("adodb.connection")
DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/intinerario.mdb")
Conn.Open DSNtest


Set RS= Server.CreateObject("ADODB.Recordset") 


If letra = "" Then 
	letra = "A" 
	SQL = "SELECT * FROM listas WHERE Local2 LIKE 'A%' Order by Local2 ASC" 
Else If letra = "Todas" Then 
		SQL = "SELECT * FROM listas Order by Local2 ASC" 
	Else
		SQL = "SELECT * FROM listas WHERE Local2 LIKE '"&letra&"%' Order by Local2 ASC" 
	End if
End If 


RS.Open SQL, conn, 3,3

If RS.EOF Then 

	Response.write("<table cellpadding=""5"" width=""600"">")
	Response.write("<tr><td align=""center"">")
	For i = 1 to 36 
		Response.write("<a href=paginacao.asp?letra="&Replace(Mid(letras, i,1),"#", "Todas")&"><b>"&Replace(Mid(letras, i,1),"#", "Todas")&"</b></a>  ") 
	Next

	Response.write("<br><br><table cellpadding=""5"" width=""600"">")
	Response.write("<tr><td bgcolor=""#F0F0F0"">Nenhum registro encontrado!</td></tr>")
	Response.write("</table>")
	Response.write("</td></tr></table>")
	
Else	

Const NumPorPage = 20

   Dim PagAtual

   IF Request.QueryString("PagAtual") = "" Then
			   PagAtual = 1
		 Else
				PagAtual = Request.QueryString("PagAtual")
   End If

   RS.CacheSize = NumPorPage 

	RS.MoveFirst				
	RS.PageSize = NumPorPage   

	Dim TotalPages			  
	TotalPages = RS.PageCount

	RS.AbsolutePage = PagAtual 

Count = 0  

Response.write("<table cellpadding=""5"" width=""600"">")
Response.write("<tr><td align=""center"">")

i = 0 

For i = 1 to 36 
  Response.write("<a href=paginacao.asp?letra="&Replace(Mid(letras, i,1),"#", "Todas")&"><b>"&Replace(Mid(letras, i,1),"#", "Todas")&"</b></a>  ") 
Next	


Response.write("<br><br><table cellpadding=""5"" width=""600"">")

Do While Not RS.EOF And Count < RS.PageSize 

	if i mod 2<>0 then
		cor = "#F0F0F0"
	else
		cor = "#E8E8E8"
	end if 
%> 

<tr style="cursor: hand;">
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Local2")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Motivo")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Data")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Horas")%></td>
	<td bgcolor="<%=cor%>" onmouseover="java script:this.style.backgroundColor='#FFECEC';" onmouseout="java script:this.style.backgroundColor='<%=cor%>';"><%=RS("Obs")%></td>
</tr>

<%
	i = i+1
	Count = Count + 1  
	RS.MoveNext
Loop			  

response.write("</table><br>")
Response.Write("<B>Página " & PagAtual & " de " & TotalPages & " </B> - ")   

If PagAtual > 1 Then 
	Response.Write("<B>") 
	Response.Write("<a href='paginacao.asp?PagAtual=" &  1 & "&Letra="&letra&"'>")
	Response.Write("Primeira") 
	Response.Write("</a></B> ")
	  
	Response.Write("<B>") 
	Response.Write("<a href='paginacao.asp?PagAtual=" & PagAtual - 1 & "&Letra="&letra&"'>")
	Response.Write("Anterior") 
	Response.Write("</a></B>  ")
Else 
	Response.Write("Primeira ") 
	Response.Write("Anterior  ") 
End If

max_n_mostrados = 9

intervalo = Int(max_n_mostrados /2)
inicio = PagAtual - intervalo
final = PagAtual + intervalo

If CInt(inicio) <1 Then 
	inicio = 1
	final = 10
End If

If CInt(final) > CInt(TotalPages) Then final = TotalPages

	For i = inicio To final
		If CInt(i)=CInt(PagAtual) Then
			Response.Write "<B>" & i & "</B>  "
		End If

		If CInt(i) < CInt(PagAtual) Then
			Response.Write "<a href='paginacao.asp?PagAtual=" & i & "&Letra="&letra&"'>" & i & "</a>  "
		End If

		If CInt(i) > CInt(PagAtual) Then
			Response.Write "<a href='paginacao.asp?PagAtual=" & i & "&Letra="&letra&"'>" & i & "</a>  "
		End If
	Next


	If CInt(PagAtual) <> CInt(TotalPages) Then
		Response.Write("  <B>")
		Response.Write("<a href='paginacao.asp?PagAtual=" & PagAtual + 1 & "&Letra="&letra&"'>")
		Response.Write("Próxima")
		Response.Write("</a></B>") 

		Response.Write(" <B>")
		Response.Write("<a href='paginacao.asp?PagAtual=" & TotalPages & "&Letra="&letra&"'>")
		Response.Write("Ultima")
		Response.Write("</a></B>")		

	Else
		Response.Write("  Próxima") 
		Response.Write(" Ultima")
	End If 
End If

Response.write("</td></tr></table>")

Rs.Close  
Set RS = Nothing
Conn.Close	  
Set Conn = Nothing	   
   
%> 

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só nao precisava mudar o nome era so por entre colchetes assim [LOCAL] funcionaria

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.