Ir para conteúdo

POWERED BY:

Arquivado

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

Juliano Gomes

Paginação (rs.MoveFirst, rs.AbsolutePage )

Recommended Posts

caros colegas, tenho uma tabela com varios registros, tudo funciona perfeito no que diz respeito a paginação na pagina, porem se deleto todos os registros dessa tabela, a pagina da pau nas duas linhas abaixo:rsPG.MoveFirst 'Move o RecorSet para o início rsPG.AbsolutePage = pg 'Configura a página atualja tentei colocar assim, mas nao funcionou, o erro persiste:if rsPG.eof then rsPG.MoveFirst 'Move o RecorSet para o início end iferro:ADODB.Recordset (0x800A0BCD)BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.banco de dados: MySql 5.0alguem saberia me informar como arrumar isso??abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala cara beleza?

 

ao inves disso:

if rsPG.eof then

coloque isso

if not rsPG.eof then

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

shumi, desculpa a ignorancia, mas"if not rs.eof then" nao quer dizer: "se o recordset conter registro, entao" ???se for isso, entao enfrentamos um problema, pois o erro ocorre justamente quando o recordset nao contem registros, mesmo assim funcionou em partes a dica, porem agora a paginação fica meio loca, pensando que exite o: NumPorPage = 10 'Numero de registros por paginasó pra gatantir vou postar o codigo completo aqui pra você dar uma sacada..

<%	pag = HTTP_REFERER 'pega o nome completo da pagina	Set rsPG = Server.CreateObject("adodb.recordset")	rsPG.CursorLocation = 3	rsPG.CursorType = 0	rsPG.LockType = 1	sql = "SELECT * FROM esportes" 	rsPG.Open sql,oConn	Const NumPorPage = 10 'Numero de registros por pagina	Dim Pg	IF 	Request.QueryString("pg") = "" Then		pg = 1 'Primeira pagina	Else		pg = Request.QueryString("pg")	End If	rsPG.CacheSize = NumPorPage 'Define o tamanho do Cache = para o numero de registros	if not rsPG.eof then		rsPG.MoveFirst 'Move o RecorSet para o inicio 	end if	rsPG.PageSize = NumPorPage 'Coloca a quantidade de paginasDim TotalPages 'Pega o numero total de paginas	TotalPages = rsPG.PageCount		if not rsPG.eof then		rsPG.AbsolutePage = pg  'Configura a pagina atual	end if		Count = 0 'Zera o contador	' inicio do laco que recupera as informacao do banco de dados	Response.Write("<table width='511' height='21' border='1'  align='center' cellpadding='0' cellspacing='0' bordercolor='#EFEFEF'>")		DO WHILE NOT rsPG.EOF And Count < rsPG.PageSize 		Response.Write("<tr>")		Response.Write("<td width='344' >Esporte: <b>"&rsPG("esporte")&"</b></td>")		Response.Write("<td width='74' ><div align='center'><a href='del_esporte.asp?id="&rsPG("id")&"'>Excluir</a></div></td>")			  	   	Response.Write("</tr>")		Count = Count + 1 	rsPG.MoveNext	LOOP		Response.Write("</table>")	%><%					' inicio da paginacao	Response.Write("<div align='center'><table width='511' height='21' border='0'  align='center' cellpadding='0' cellspacing='0' bordercolor='#EBD005'>")	' linha 1	Response.Write("<tr><td><div align='center'> </div></td></tr>")		' linha 2	Response.Write("<tr><td><div align='center'>") 	Response.Write(" Pagina " & pg & " de " & TotalPages) 	Response.Write("</div></td></tr>")		' linha 3	Response.Write("<tr><td><div align='center'><hr></div></td></tr>")		' linha 4	Response.Write("<tr><td><div align='center'>")	IF pg > 1 THEN 			Response.Write("<font color='#333333' size='2'>") 	Response.Write("<a href='"& pag &"?pg=" & 1 & "'>")	Response.Write("Primeira") 	Response.Write("</a> | </font>")	Response.Write("<font color='#333333' size='2'>") 	Response.Write("<a href='"& pag &"?pg=" & pg - 1 & "'>")	Response.Write("Anterior") 	Response.Write("</a> - </font>")		Else		Response.Write("<font color='#333333' size='2'>") 	Response.Write("Primeira") 	Response.Write(" | </font>")	Response.Write("<font color='#333333' size='2'>") 	Response.Write("Anterior") 	Response.Write(" - </font>")		End If	%>						<%					'------------------- numero -------------------------'---------- Numero de numeros para ser mostrados ----	max_n_mostrados = 15	intervalo = Int(max_n_mostrados /2)	inicio = pg - intervalo	final = pg + intervalo	If 	CInt(inicio) <1 Then 		inicio = 1		final = max_n_mostrados	END IF	If 	CInt(final) > CInt(TotalPages) Then 		final = TotalPages	For i = inicio To final		If CInt(i)=CInt(pg) Then		Response.Write "<font color='#FF0000' size='2'>[<B>" & i & "</B>]</font> "	END IF	If 	CInt(i) < CInt(pg) Then		Response.Write "<a href='"& pag &"?pg=" & i & "'>" & i & "</a> "	END IF	If 	CInt(i) > CInt(pg) Then		Response.Write "<a href='"& pag &"?pg=" & i & "'>" & i & "</a> "	END IF		Next'------------------------------------------------------	IF 	CInt(pg) <> CInt(TotalPages) THEN 		'Se estiver na Ultima pagina, mostra apenas o botao Anterior e Primeira				Response.Write("<font color='#333333' size='2'>") 		Response.Write(" - <a href='"& pag &"?pg=" & pg + 1 & "'>")		Response.Write("Proxima")		Response.Write("</a></font>") 		Response.Write("<font color='#333333' size='2'>") 		Response.Write(" | <a href='"& pag &"?pg=" & TotalPages & "'>")		Response.Write("Ultima")		Response.Write("</a></font>") 			Else				Response.Write("<font color='#333333' size='2'>") 		Response.Write(" - Proxima") 		Response.Write("</font>")		Response.Write("<font color='#333333' size='2'>") 		Response.Write(" | Ultima") 		Response.Write("</font>")			End If	end if 	' fim da paginacao	Response.Write("</div></td></tr></table></div>")%>

shumi, desculpa a ignorancia, mas"if not rs.eof then" nao quer dizer: "se o recordset conter registro, entao" ???se for isso, entao enfrentamos um problema, pois o erro ocorre justamente quando o recordset nao contem registros, mesmo assim funcionou em partes a dica....

ta certo, voce esta certo, eu que estava errado, perdoe meu erro porém o que segue abaixo procede:porem agora a paginação fica meio loca, pensando que exite o: NumPorPage = 10 'Numero de registros por paginacomo podemos resolver isso?abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi sua pergunta! :unsure: aqui

if not rs.eof then
ao pé da letra você pode traduzir assim:

Se o rs não for vazio então

Abraços

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.