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

Numeros Aletorios


resopi

Pergunta

É o seguinte pessoal preciso fazer um query no DB access que me retorne um registro aleatoriamente...

sempre que eu preciso de um numero aleatorio utilizo essa funçãoq ue fiz:

randomize()

maior_numero = 5

menor_numero = 1

numero_banner = int ((maior_numero - menor_numero + 1)  * rnd + menor_numero)

ela me traz os numeros entre o menor e o maior.... ateh ai não tem problema....

eu poderia tulizar isso ai para gerar ID numero e fazer a query com esse ID gerado.... MAs o problema é o seguinte...

Meu Db esta como auto numeravel..... Se eu apgar um registro os ID's podem ficar assim:

101

102

103

106

ou seja os id's 104 e 105 foram apagados..... se eu fizer uma consulta com esses ID's vou ter problemas..... ou seja preciso fazer uma query aleatoria que me traga somente os registros que existem efetivamente!!!

T+

vlw

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Cara.. te indico este tópico

http://scriptbrasil.com.br/forum/index.php...ndpost&p=193789

Nele, o foco é o que você quer fazer..

Tem um modo bem simples, direto no Select..

da uma olhada em todos os posts

T+

Link para o comentário
Compartilhar em outros sites

  • 0

É muito antigo, mas veja se ainda funciona

<%

	nome = "jose|paulo|william|wellington|giuliana"

	total = 3 

	Analistas = Split(nome, "|")

	For k = 0 to Ubound(Analistas)
   response.Write(Analistas(k) & "<br>")
	Next

  response.Write("<br><b>Sorteio dos Analistas( ):</b><br><br>")

	y = 1

	For i = 1 to total
   ArrayAnalista = Split(nome, "|")
   Randomize()
   AnalistaSorteado = Rnd() * UBound(ArrayAnalista)
   AnalistaSorteado = CInt(AnalistaSorteado)
   Response.Write y & " - " & ArrayAnalista(Cint(AnalistaSorteado)) & "<br>" 
   If Cint(AnalistaSorteado) = 0 Then
      nome = Replace(nome, ArrayAnalista(Cint(AnalistaSorteado)) & "|", "") 
   Else
      nome = Replace(nome, "|" & ArrayAnalista(Cint(AnalistaSorteado)), "")
   End If
    y = y + 1
	Next
%>

?Abraços!!!

Link para o comentário
Compartilhar em outros sites

  • 0

cara tem desse jeito tb

select top 1 * from tabela order by newid()

ele sorteia um registro do banco e já era.....

ali onde está top 1 , é a quantidade de registros q a string sql vai trazer no caso só 1 registro.

falowzzz!!!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...