a paginação na hora da pesquisa funciona, gera todas as paginas e links numerados para elas, mas depois não passa para as proximas pagina quando clicamos no link para proxima.
da erro no RS.
ADODB.Recordset (0x800A0BB9)
Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.
/psd/modelo6/jacundaonline/resultado.asp, line 295
eu to usando dois tipos de pesquisa no mesmo script.
completo com 3 campos e simples so com 1 campo.
gerando um sql para cada de acordo com a escolha do ususario.
<%
response.buffer = true
NomeUser = Request.form("nome")
CityUser = Request.form("cidade")
Estado = Request.form("estado")
TIPO_P
= Request.form("tipo")
'Variáveis passados pelo link informando os valores da paginação
'Pagina atual e quantidade de registros mostrados
reg = request.QueryString("reg")
Select Case (TIPO_P)
Case "tudo"
sqlpag = "select nome, id, foto from cadastro where nome = '"& NomeUser &"' and cidade = '"& CityUser &"' and estado ='"& Estado &"' order by id desc"
Case "sonome"
sqlpag = "select nome, id, foto from cadastro where nome like '%"& NomeUser &"%' order by id desc"
end Select
%>
esse cod a em cima pega os valores enviados pelo form e gera a sql correta.
<!--TABELA DA PAGINAÇAO-->
<%
'---------------------------------------------------------------------
'Criando o sql e abrindo o objeto RS na conexao do banco de dados
'---------------------------------------------------------------------
'criando objeto recordset para manipular os dados do banco
Set rspag = Server.CreateObject("adodb.recordset")
'---------------------------------------------------------------------
'Definido a quantidade de registros por página
rspag.PageSize = 1
'Se for o inicio da contagem, ou seja, reg = 0
'coloca "reg" com o mesmo valor do RS.pagesize
if reg = "" then
reg = rspag.pageSize
end if
rspag.Open sqlpag, Conex, 3,3
Totalreg = rspag.RecordCount
'Verificando exceções no pagina
IF rspag.EOF then
Mensagem = "nenhum registro encontrado"
'paramos o programa
Response.End
ELSE
'Definindo em qual pagina o visitante está
IF Request.QueryString("pagina")= "" then
intpagina = 1
ELSE
'Se a pagina atual for menor que 1, então a pagina será 1
IF cint(Request.QueryString("pagina")) < 1 then
intpagina = 1
ELSE
'Se a pagina atual for maior que o numero de paginas do
'RS então a pagina atual será igual a numero total de paginas(ultima)
IF cint(Request.QueryString("pagina")) > rspag.PageCount then
intpagina = rspag.PageCount
ELSE
'caso contrário a pagina atual será aquela enviado pelo parametro
intpagina = Request.QueryString("pagina")
'Fim das verificações de exceções
END IF
END IF
END IF
END IF
'---------------------------------------------------------------------
'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta
rspag.AbsolutePage = intpagina
'---------------------------------------------------------------------
'Inicia o contador que vai controlar os registros mostrados
contador = 0
'---------------------------------------------------------------------
'Verifica se é a ultima página a ser mostrada para igualar os valores mostrados
'dos registros. Mostrando todos do total encontrado.
IF cint(Request.QueryString("pagina")) = rspag.PageCount then
reg = Total
end if
%>
<table border="0" width="414" id="table17" height="193" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<% While contador < rspag.PageSize and not rspag.EOF %>
<a href="profile.asp?id=<%=rspag("id")%>">
<img src="go/fotos/<%=rspag("foto")%>" alt="<%=UCase(rspag("nome"))%>" width="66" height="66"></a>
<%
'Passa o ponteiro do RS para o próximo registro até completrar a quantidade por página
rspag.MoveNext
'---------------------------------------------------------------------
'Acrescenta 1 ao contador
contador = contador + 1
'---------------------------------------------------------------------
Wend
%>
</td>
</tr>
<tr>
<td valign="top" height="22">
<p align="center">
<%
'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”.
IF intpagina > 1 then
%>
<a href = "resultado.asp?reg=<%= reg - rspag.pageSize %>&pagina=<%= intpagina - 1%>"><< Anterior</a> |
<%
END IF
'---------------------------------------------------------------------
'Loop para mostrar os numeros de paginas e o link para elas
'QR é uma variável para sabermos quantos registros estão sendo mostrados
'do total encontrado.
QR = 0
for pag = 1 to rspag.pagecount
QR = rspag.PageSize + QR
%>
<a href = "resultado.asp?reg=<%= QR %>&pagina=<%= pag %>"><b> <%= pag %> </b></a>
<%
next
'---------------------------------------------------------------------
'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página
IF strcomp(intpagina, rspag.PageCount) <> 0 then
%>
| <a href="resultado.asp?reg=<%= reg + rspag.pageSize %>&pagina=<%= intpagina + 1%>">Próxima >></a>
<%
END IF
%>
</td>
</tr>
</table>
<!--FIM DA TABELA DE PAGINAÇÃO-->
esse e a paginação que fiz.
obs. Na hora que faço a pesquisa na primeiro vez, ele gera o resultado certinho, mas quando clico na 'proxima' pagina ele gera o erro!
Pergunta
DELPHI-Man32
a paginação na hora da pesquisa funciona, gera todas as paginas e links numerados para elas, mas depois não passa para as proximas pagina quando clicamos no link para proxima.
da erro no RS.
eu to usando dois tipos de pesquisa no mesmo script. completo com 3 campos e simples so com 1 campo. gerando um sql para cada de acordo com a escolha do ususario. esse cod a em cima pega os valores enviados pelo form e gera a sql correta.esse e a paginação que fiz.
obs. Na hora que faço a pesquisa na primeiro vez, ele gera o resultado certinho, mas quando clico na 'proxima' pagina ele gera o erro!
abs, VAGNER
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.