Ir para conteúdo

POWERED BY:

Arquivado

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

Matheus R A Plastino

Erro no MoveNext

Recommended Posts

Pessoal tenho um movenext as o numero que ele me retorna é sempre o numero anterior multiplicado por 10!!!!!! Sera q to ficando louco??? O que sera q ta acontecendo vejam o exemplo<!--#include file="conexao.asp"--><%codigo = Request.QueryString("codigo")sql="SELECT * FROM ramal WHERE cod_ramal LIKE '%"&codigo& "%'"set wrs=wcon.execute(sql)wrs.MoveNext%><%=wrs("cod_ramal")%>neste codigo tenho certeza que a variavel codigo esta pegando o numero 1 ou seja o select esta selecionando o registro de cod_ramal 1, isso eu tenho certeza. Mas ai depois do Move Next vem uma linha que me mostra o registro q esta no recordset e ele aparece 10Se eu colocar na variavel codigo o numero 2 ele seleciona o registro 2 mas depois do MoveNext ele me retorna 20????? pq????GratoMatheus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade ele não está "multiplicando por 10", note que sua SQL pede dados "parecidos" com sua variavel, e isso deixando que ela esteja em qualquer posição do conteúdo do BD, então repare no seguinte:

Se sua variavel contém o numero "1" os dados retornados são os que contém o número "1" (1,10,11,12,...). Caso queira APENAS o valor da variavel você deve usar o "=" na sua SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu amigo você esta totalmente corretomas agora esta dando um erro:Tipo de erro:ADODB.Field (0x80020009)BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual./ASP/Intranet/prox_ramal.aspe o meu codigo ficou assim<!--#include file="conexao.asp"--><%codigo = Request.QueryString("codigo")sql="SELECT * FROM ramal WHERE cod_ramal="&codigoset wrs=wcon.execute(sql)wrs.MoveNext%><%=wrs("cod_ramal")%>E agora o que tem de errado??? Me ajude por favorAbraçosMatheus

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso você não deve usar o MoveNext, pois como está, aparentemente, selecionando apenas um registro não é possível avançar e recuar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal eu seria q poderia ser encomodo mas eu tenho uma tela q possui alguns campo texto (edit) e eles chamam os registros da tabela, eu preciso fazer um menu bem simples como eu falei ali em cima|Primeiro|Anterior|Proximo|Ultimo|Acho q o ideal seria paginacao, mas os fonte q encontrei aqui no forum é um pouco complicada, alguem tem um link ou alguma paginacao simples, ou ha outra forma de fazer isto???Minha tabela é a seguinte (é bem simples)nome da tabela: EMAILcod_email - NUMERIC - PRIMARY KEYnome - VARHCARemail - VARCHARutilizo MySQLme desculpe por encomodar, mas alguem pode me ajudar??GratoMatheus

Compartilhar este post


Link para o post
Compartilhar em outros sites

va no laboratorio de scripts deste forum, tem um ótimo exemplo lah!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal e desculpe mas eu nao consegui encontrar, la tem paginacao mas gostaria de navegar com proximo e anterior movendo apenas um registro de cada vez? Seria encomo pedir o link se ja tiver no forum???Agradeço a todos pela pacienciaMatheus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada muito complicado:

<!--#include file="conexao.asp"-->
<%codigo = Request.QueryString("codigo")
Pagina = Request.QueryString("Pagina")

If Pagina = "Primeira" Then
sql="SELECT Top 1 * FROM ramal Order By cod_ramal ASC;"
ElseIf Pagina = "Anterior" Then
sql="SELECT * FROM ramal WHERE cod_ramal < "& codigo &";"
ElseIf Pagina = "Proxima" Then
sql="SELECT * FROM ramal WHERE cod_ramal > "& codigo &";"
ElseIf Pagina = "Ultima" Then
sql="SELECT Top 1 * FROM ramal Order By cod_ramal DESC;"
Else
sql="SELECT * FROM ramal WHERE cod_ramal ="& codigo &";"
End If

set wrs=wcon.execute(sql)
If Not wrs.EOF Then
'Aqui vai tudo o que quer exibir desse dado do BD
Response.Write wrs("cod_ramal")
End If

wrs.Close
Set wrs = Nothing

wcon.Close
Set wcon = Nothing

Response.Write "|<a href=""?Pagina=Primeira"">Primeiro</a>|<a href=""?Pagina=Anterior&codigo="& wrs("cod_ramal") &""">Anterior</a>|<a href=""?Pagina=Proxima&codigo="& wrs("cod_ramal") &""">Proximo</a>|<a href=""?Pagina=Ultima"">Ultimo</a>|%>

Isso deve exibir corretamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta dando um erro qdo gero este formulario, acho q é pq estou utilizando MYSQL!!!!Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[MySQL][ODBC 3.51 Driver][mysqld-5.0.18-nt-max]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1/ASP/Intranet/navegacao.asp, line 17Se nao me engano em ACCESS funciona normalAlguem sabe a syntax correta para MySQLAbraçosMatheus

Compartilhar este post


Link para o post
Compartilhar em outros sites

No MySQL não rola usar o "TOP *".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na 1ª execução não existe "codigo", então coloque um OR no IF baseado no "Primeira". Algo +/- assim:

<!--#include file="conexao.asp"-->
<%codigo = Request.QueryString("codigo")
Pagina = Request.QueryString("Pagina")

If Pagina = "Primeira" OR codigo="" Then
sql="SELECT Top 1 * FROM ramal Order By cod_ramal ASC;"
ElseIf Pagina = "Anterior" Then
sql="SELECT * FROM ramal WHERE cod_ramal < "& codigo &";"
ElseIf Pagina = "Proxima" Then
sql="SELECT * FROM ramal WHERE cod_ramal > "& codigo &";"
ElseIf Pagina = "Ultima" Then
sql="SELECT Top 1 * FROM ramal Order By cod_ramal DESC;"
Else
sql="SELECT * FROM ramal WHERE cod_ramal ="& codigo &";"
End If

set wrs=wcon.execute(sql)
If Not wrs.EOF Then
'Aqui vai tudo o que quer exibir desse dado do BD
Response.Write wrs("cod_ramal")
End If

wrs.Close
Set wrs = Nothing

wcon.Close
Set wcon = Nothing

Response.Write "|<a href=""?Pagina=Primeira"">Primeiro</a>|<a href=""?Pagina=Anterior&codigo="& wrs("cod_ramal") &""">Anterior</a>|<a href=""?Pagina=Proxima&codigo="& wrs("cod_ramal") &""">Proximo</a>|<a href=""?Pagina=Ultima"">Ultimo</a>|%>

E faça uma pesquisa aqui mesmo para alterar o "TOP *" e acrescentar a sintaxe correta para o MySQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops, erro meu, sobe a parte que monta os links para antes de fechar e destruir os objetos.

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.