Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Johnny_DF

Porque não da certo!!!

Recommended Posts

Usei o código abaixo para mostrar na tela dados aleatoriamente da minha tabela só que mostra de forma aleatoria somente uma vez eu queria que fosse uma quantidade pré definida como dez dados da minha base de dados.<%Set db = Server.CreateObject("ADODB.Connection")db.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("frase.mdb") & ";"%><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><%set tabela = server.CreateObject ("ADODB.Recordset")Randomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)set tabela = db.Execute("select * from frases where Código="&id_tabela)do while tabela.EOFRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)set tabela = db.Execute("select * from frases where Código="&id_tabela)if not tabela.EOF then exit doloop%><%Do while not tabela.eof%> <table width="100" border="0"> <tr> <td><%response.write tabela("frase")%></td> </tr></table> <%tabela.movenext loop%></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Randomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)set tabela = db.Execute("select * from frases where Código="&id_tabela)if not tabela.EOF then exit doloop

esse IF NOT TABELA.EOF está fazendo você sair do loop. Tanta somenteIF TABELA.EOF e vê se resolve o seu problema...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<body><%set tabela = db.Execute("select * from frases where Código="&id_tabela)do while tabela.EOFRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)set tabela = db.Execute("select * from frases where Código="&id_tabela)if tabela.EOF then exit doloop%><%Do while not tabela.eof%> <table width="100" border="0"><tr><td><%response.write tabela("frase")%></td></tr></table> <%tabela.movenextloop

copia o quote e diz o que deu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

do while tabela.EOF <<<substitua o código do quote que postei nessa linha:DO WHILE NOT TABELA.EOFo que acontece: faça enquanto tiver registros...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente isso<table width="100" border="0"><tr><%Do while not tabela.eofRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)set tabela = db.Execute("select * from frases where Código="&id_tabela)if tabela.EOF then exit do end ifResponse.write"<td>"& tabela("frase") &"</td>"loop%></tr></table> Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente isso<table width="100" border="0"><tr><%x=1Do while not tabela.eofif x= 10 then exit do end ifRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)tabela.moveabsolut(id_tabela)if tabela.EOF then exit do end ifResponse.write"<td>"& tabela("frase") &"</td>"x=x+1loop%></tr></table> Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eae gente boa .. beleza Vendo este codigo do Johnny ... vi q preciso de algo parecido então gostaria de saber para que serve o commando "Randomize" sozinho logo abaixo do RecordSet e o command "rnd" o q faz ?Obrigado pelas dicas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eae gente boa .. beleza Vendo este codigo do Johnny ... vi q preciso de algo parecido então gostaria de saber para que serve o commando "Randomize" sozinho logo abaixo do RecordSet e o command "rnd" o q faz ?Obrigado pelas dicas

O "RANDOMIZE" inicia o gerador de num aleatórios, e o *rnd é sua chamada, a sintaxe é a sequinte:(num*rnd)+1 onde "num" é o valor máximo gerado pelo random.Espero ter ajudado a esclarecer sua duvida..Valeu? :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Engespro ... exclareceu minha duvido com certeza ... !!!Ae Johnny ... eu fiz uns teste com este comando para ver como funcione ... e não repetiu não quer dizer ... as vezes ele repete um numero o ou outro mas de 100 somente 1 vez repetiu um numero...você já tentou fazer isso<table width="100" border="0"><tr><%x=1Do while not tabela.eof or x <= 10 Randomize nTotal_Reg = (db.Execute("select count(*) from frases").fields(0).value id_tabela = Int( nTotal_Reg * Rnd) + 1) if id_tabela > nTotal_Reg Then exit do End if tabela.moveabsolut(id_tabela) Response.write"<td>"& tabela("frase") &"</td>"loop%></tr></table> Pronto ... espero ter ajudado tambem ..... hehehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%Set db = Server.CreateObject("ADODB.Connection")db.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("frase.mdb") & ";"set tabela = server.CreateObject ("ADODB.Recordset")tabela.Open "frases",bd_db,adOpenDynamic,adLockOptimistic%><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><table width="100" border="0"><tr><%x=1Do while not tabela.eofif x= 10 then exit do end ifRandomizeid_tabela = Int((db.Execute("select max(Código) from frases").fields(0).value * Rnd) + 1)tabela.moveabsolut(id_tabela)if tabela.EOF then exit do end ifResponse.write"<td>"& tabela("frase") &"</td>"x=x+1loop%></tr></table> </html>Acho que é esse o código :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

ADODB.Recordset error '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. /internacional/coord/tempjohnny/teste2.asp, line 7 rodei e deu esse erro!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tabela.Open "frases",bd_db,adOpenDynamic,adLockOptimisticErrinho bobo essa linha é assim:tabela.Open "frases",db,adOpenDynamic,adLockOptimistic

Compartilhar este post


Link para o post
Compartilhar em outros sites

set tabela = server.CreateObject ("ADODB.Recordset")tabela.Open "frases",bd_db,adOpenDynamic,adLockOptimistic%>

Não é por nada mas acho q o erro esta neste "bd_db" ... coloque somente db !!! T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.