Ir para conteúdo
Fórum Script Brasil
  • 0

Exibir Os 05 Primeiros Registro Do Bd


--_Michel_--

Pergunta

Tenho um Banco de dados com 02 coluna uma chamada ID e a outra chamada Links... Tenho umaa administração onde posso incluir, alterar, excluir e consultar os dados cadastrados pelo ID.

A minha dúvida é na página principal onde tenho um espaço para visualização apenas dos 05 primeiros registro do Banco e um link para listar todos...

Gostaria de saber como faço para exibir somente os 05 primeiros registro de um Banco de dados.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

<%

set cn=server.CreateObject("ADODB.connection")

set rs=server.CreateObject("ADODB.recordset")

cn.CursorLocation=3 'adUseClient

rs.CursorType=3 'adOpenStatic

set rs = cn.Execute ("select top 5 * from tabela order by [iD] DESC")

rs.MoveFirst%>

<%rs.AbsolutePosition=1%>

Sua config pro primeiro links

<%rs.AbsolutePosition=2%>

Sua config pro segundo links

<%rs.AbsolutePosition=3%>

Sua config pro terceiro links

<%rs.AbsolutePosition=4%>

Sua config pro quarto links

<%rs.AbsolutePosition=5%>

Sua config pro quinto links

Link para o comentário
Compartilhar em outros sites

  • 0

michel, tenta o codigo que eu passei antes..

sql = "select top 5 from tabela"

set rs = conexao.execute(sql)

do while not rs.eof

response.write rs("campo")

rs.moveNext

loop

Link para o comentário
Compartilhar em outros sites

  • 0

Victor acho que você não entendeu... Serão somente 05 registro mesmo...

O problema é que se no banco de dados tiver mais que 05 registro cadastrados ele exibe o erro acima que citei... Eu não consegui colocar um tratamento para esse erro. Pois terei que sempre cadastrar novos registros e não poderei apagar os anteriores...

Se souber como faço para colocar um tratamento de erro, posta aí... vou continuar tentatndoa aqui.

você quer os ultimos 5???

use o

select top 5 from tabela order by id desc 
ai faça um loop nos registros:
while not RecSet.EOF
response.write rs("campo") & "<br>"

RecSet.MoveNext

wend

RecSet.Close

Editado por bareta
Link para o comentário
Compartilhar em outros sites

  • 0

Caso queira usar o método do Victor que é bem mais complicado, eu fiz umas mudanças nele para não mais aquele erro.

<!--#include file="configteste.asp" -->
<%
dim conn, rs, sql
set conn = server.createobject ("ADODB.connection")
Set rs =Server.CreateObject("ADODB.Recordset")
conn.Open caminhoBD
SQL = "select * from tabela order by id"
Rs.Open sql, conn

If rs.BOF Then
Response.Write "Nenhum usuario cadastrado"
else

dim texto
dim id
texto = array()
id = array()
z=0
while not rs.EOF
ReDim preserve texto(UBound(texto)+1) 
ReDim preserve id(UBound(id)+1) 
texto(Ubound(texto)) = rs("texto")
id(Ubound(id))= rs("id")
z=z+1
rs.MoveNext
wend
rs.Close
end if
response.write id(0)&" - "&texto(0)&"<br>"
response.write id(1)&" - "&texto(1)&"<br>"
response.write id(2)&" - "&texto(2)&"<br>"
response.write id(3)&" - "&texto(3)&"<br>"
response.write id(4)&" - "&texto(4)&"<br>"
%>

Mais eu tambem acho que é melhor usar o select TOP

Link para o comentário
Compartilhar em outros sites

  • 0

O código que você passou a o dark0 fez algumas alterações ficou ótimo e vou utilizar este pois os 05 ultimos registros ficam guardados nas variaveis e posso chama-las depois em qualquer parte da página tb...

Não usei o SELECT TOP porque não consegui guardar os 05 ultimos nas váriaveis... O unico problema do código de cima é que eu sempre tenho que ter pelo menos 05 registros cadastrados, senão dá erro... O que eu queria saber é se tem como colocar uma mensagem de erro quando estiver de 1 até 04 registros apenas gravados. tipo assim

se no banco de dados for =1 ate 4

exiba a mensagem de erro " Não foi possivel visualizar os registros"

senão

ele faz o que esta sendo feito....

Mas eu não consigo colocar essa rotina lá no código...

<!--#include file="configteste.asp" -->
<%
dim conn, rs, sql
set conn = server.createobject ("ADODB.connection")
Set rs =Server.CreateObject("ADODB.Recordset")
conn.Open caminhoBD
SQL = "select * from tabela order by id"
Rs.Open sql, conn

If rs.EOF Then
Response.Write "Nenhum usuario cadastrado"
else

dim texto
dim id
texto = array()
id = array()
z=1
while not rs.EOF
ReDim preserve texto(UBound(texto)+1) 
ReDim preserve id(UBound(id)+1) 
texto(Ubound(texto)) = rs("texto")
id(Ubound(id))= rs("id")
z=z+1
rs.MoveNext
wend
rs.Close
end if

response.write id(0)&" - "&texto(0)&"<br>"
response.write id(1)&" - "&texto(1)&"<br>"
response.write id(2)&" - "&texto(2)&"<br>"
response.write id(3)&" - "&texto(3)&"<br>"
response.write id(4)&" - "&texto(4)&"<br>"

%>

Link para o comentário
Compartilhar em outros sites

  • 0

vou alterar mais um pouco o código:]

<!--#include file="configteste.asp" -->
<%
dim conn, rs, sql
set conn = server.createobject ("ADODB.connection")
Set rs =Server.CreateObject("ADODB.Recordset")
conn.Open caminhoBD
SQL = "select * from tabela order by id"
Rs.Open sql, conn

If rs.EOF Then
Response.Write "Nenhum usuario cadastrado"
else

dim texto
dim id
texto = array()
id = array()
z=0
while not rs.EOF
ReDim preserve texto(UBound(texto)+1) 
ReDim preserve id(UBound(id)+1) 
texto(Ubound(texto)) = rs("texto")
id(Ubound(id))= rs("id")
z=z+1
rs.MoveNext
wend
rs.Close
end if

if z>4 then
   response.write id(0)&" - "&texto(0)&"<br>"
   response.write id(1)&" - "&texto(1)&"<br>"
   response.write id(2)&" - "&texto(2)&"<br>"
   response.write id(3)&" - "&texto(3)&"<br>"
   response.write id(4)&" - "&texto(4)&"<br>"
else
  response.write "foram encotrados menos de 5 registros"
end if

%>

Da uma testada e me fala

Link para o comentário
Compartilhar em outros sites

  • 0

vou alterar mais um pouco o código:]

<!--#include file="configteste.asp" -->
<%
dim conn, rs, sql
set conn = server.createobject ("ADODB.connection")
Set rs =Server.CreateObject("ADODB.Recordset")
conn.Open caminhoBD
SQL = "select * from tabela order by id"
Rs.Open sql, conn

If rs.EOF Then
Response.Write "Nenhum usuario cadastrado"
else

dim texto
dim id
texto = array()
id = array()
z=0
while not rs.EOF
ReDim preserve texto(UBound(texto)+1) 
ReDim preserve id(UBound(id)+1) 
texto(Ubound(texto)) = rs("texto")
id(Ubound(id))= rs("id")
z=z+1
rs.MoveNext
wend
rs.Close
end if

if z>4 then
   response.write id(0)&" - "&texto(0)&"<br>"
   response.write id(1)&" - "&texto(1)&"<br>"
   response.write id(2)&" - "&texto(2)&"<br>"
   response.write id(3)&" - "&texto(3)&"<br>"
   response.write id(4)&" - "&texto(4)&"<br>"
else
  response.write "foram encotrados menos de 5 registros"
end if

%>

Da uma testada e me fala

Valeu galera, agora tb a ajuda do cyberalexxx o código está prontinho... Vou postar este código no Tópico de Funções (COMO FAÇO PARA INCLUIR ESTE CÓDIGO NO TÒPICO DE FUNÇÔES), para que outros desenvolvedores possam aprender a utiliza-los também....

Obrigado a todos que ajudaram e se empenharam em me ajudar. Pode fechar este tópico.

Link para o comentário
Compartilhar em outros sites

  • 0

ué..

selecione seu codigo, clique com o botao direito, clique em copiar

abra o tópico de funções, clique em responder, clique com o botao direito do mouse, clique em colar

entendeu?

ou quer uns printscreen?

hehehe

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

ok

to fechando esse tópico

ate mais

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...