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 =))
0 comentários:
Postar um comentário