Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá estou querendo fazer um banner rotativo com o código abaixo mas não consigo fazer funcionar em função do "Conjunto de linhas não oferecer suporte para busca regressiva". Segue abaixo o código para alguém me dizer onde estou errando.
<%
Dim RSbanner
Dim RSbanner_cmd
Dim RSbanner_numRows
Set RSbanner_cmd = Server.CreateObject ("ADODB.Command")
RSbanner_cmd.ActiveConnection = conexao
RSbanner_cmd.CommandText = "SELECT * FROM mysql.banners"
RSbanner_cmd.Prepared = true
Set RSbanner = RSbanner_cmd.Execute
RSbanner_numRows = 0
Response.Expires = -1000
Dim rndMax,rndNumber
rndMax = CInt(RSbanner.RecordCount)
RSbanner.MoveFirst
Randomize Timer
rndNumber = Int(RND * rndMax)
RSbanner.Move rndNumber
response.write "<a href='" & RSbanner("link") & "' target='_blank'><img border=0 width='190' height='390' src='img\banners\" & RSbanner("foto") & "'></a>"
RSbanner.Close()
Set RSbanner = Nothing
%>
O erro está apontando para a linha 23 "RSbanner.Move rndNumber". O quê devo fazer?
Olá Ianni,
Fiz de acordo com as suas instruções e deu certo. O random funciona perfeitamente, porém os resultados não ficam alternando como se fosse um banner e sim somente mudam a cada atualizada de página. Mas está bom assim, valeu! Então o meu código ficou da seguinte forma:
<%
Dim RSbanner
Dim RSbanner_cmd
Dim RSbanner_numRows
Set RSbanner_cmd = Server.CreateObject ("ADODB.Command")
RSbanner_cmd.ActiveConnection = conexao
RSbanner_cmd.CommandText = "SELECT * FROM mysql.banners ORDER BY Rand() limit 0,10"
RSbanner_cmd.Prepared = true
Set RSbanner = RSbanner_cmd.Execute
RSbanner_numRows = 0
response.write "<a href='" & RSbanner("link") & "' target='_blank'><img border=0 width='190' height='390' src='img\banners\" & RSbanner("foto") & "'></a>"
RSbanner.Close()
Set RSbanner = Nothing
%>
Muito obrigado pela dica!
P.S. O limit que você estipulou "0,10" quer dizer que serão somente randonizados 10 registros, é isso? E me perdoe, mas não entendi a parte de tratar efeito com Jquery.
Que bom que funcionou !!
Eu coloquei o limit, pois usei esse code num jquery que alterna as imagens e descrições de alguns produtos num certo intervalo, um slideshow, como queria algo simples, peguei um script em jquery ao invés de flash (em que é possivel fazer as mesma coisa, mas o projeto tem algumas limitações quanto ao uso de flash), e o adaptei para poder pegar os dados do banco de dados ao invés de algumas imagens no determinado diretório.
Precisei de algo semelhante, e resolvi assim:
sql= "SELECT * FROM tabela ORDER BY Rand() limit 0,10"
Note que o limit coloquei para limitar quantos registros queria, para com o resultado, poder depois usar um efeito com jquery.