sábado, 18 de agosto de 2001

Registro Aleatório

Muitos desenvolvedores buscam exibir registros de um bd aleatoriamente.
Abaixo segue um código simples, que mostra um campo chamado field aleatório numa tabela tbl e outra função gerara numeros aleatórios pra pegar o registro pelos campos auto numeração autoid


1- Set conn = server.CreateObject("ADODB.Connection")
2- Conn.open "dsn"

'criada a conexao (conn), e abre um dsn

3- SQL = "SELECT * FROM tbl"
4- Set RS = Server.CreateObject("ADODB.Recordset")
5- RS.open SQL,Conexao, 3, 3

'o recordset devera conter os parametros acima(os dois 3)

6- Randomize
7- Numero = INT(RND * RS.RecordCount)
8- Randomize

'aqui gerara um numero aleatório inteiro

9- SQL = "SELECT * FROM tbl WHERE autoid=" & numero
10- Set RS2 = Conn.execute(SQL)
11- if rs2.eof then
12- response.write "Numero sorteado não existe"
13- else
14- response.write "Sorteado: " & RS2("field")
15- End if

'agora ele pega o nº aleatorio e manda exibir o registro desse numero e exibe ao cliente

16- conn.close
17- Set conn=nothing
18- set rs=nothing
19- set rs2=nothing

'liberar recursos =)


NOTA: Se no campo autoid houver falhas na sequência e o "numero" sortear isso, não haverá registro a exibir.
Ex: Seu autoid correr de 1 a 30, e apos 25 for direto pra 28, se "numero" for igual a 26 o autoid é invalido, consequentemente não haverá registro a exibir.
MAS NÃO SE PREOCUPE, as linhas 11 e 12 trabalham essa hipótese de erro. =)


Bom é isso, é bem simples e util trabalhar com dados aleatoriamente. Espero ter ajudado! valeu =))



Esta matéria foi postada originalmente no ASP4Developers por Oscar Pires (BLADE) (site), que na época era "Desenvolvedor ASP e Visual Basic, desenvolve sites interativos e sistemas para empresas. ". Hoje, vai saber...

0 comentários: