Fórum mostrar registro aleatoriamente no delphi com banco firebird #382370
29/07/2010
0
Geraldo Leal
Curtir tópico
+ 0Posts
29/07/2010
Marco Salles
SuaVariavel:=Random(ValorQue vc quer Randomizar); ??? ..... bla bla bla.. _sql:='SELECT * FROM tabela WHERE Seucampo '+quoteToStr(SuaVariavel); bla .. bla .. bla.. end;
Gostei + 0
29/07/2010
Eriley Barbosa
Gostei + 0
29/07/2010
Geraldo Leal
Marcos e Eriley, boa tarde, quanto ao first, creio que so retornará os primeiros 10 ou quantos for colocados, não sei bem, e quanto ao codigo seu , marcos, está dando um pequeno erro, provavelmente eu não estou sabendo alguma coisa, mais não encontra quotetostr e já tentei quotedstr e outros, dá não localiza, ai seguinte, tenho este codigo abaixo, funcionou, porem tenho um problema, tenho que colocar um edit como pode ver procedure TFrm_pesquisa.SpeedButton11Click(Sender: TObject);
var
I: INTEGER;
Randomize;
for I := 0 to 100000 do
edit2.text:=inttostr(random(I));
//_sql:='SELECT * FROM TABELA WHERE id = '+ quotetostr(I);
dm.qry_TABELA.sql.clear;
dm.qry_TABELA.close;
dm.qry_TABELA.sql.add('select *');
dm.qry_TABELA.sql.add('from biblia');
dm.qry_TABELA.sql.add(' where id ='+ quotedstr(edit2.text)); acima traz pelo id. porem o seguinte. tenho no campo id numeros de 0 a 10000. so que nestes 10000 tenho um campo paralelo que é o campo livro que tem 20 livros. ou seja são 500 livros de cada então são 500 livros repetidos, o mesmo nome e cada livro tem 100 paginas ou seja cada página é repetida 5 vezes. então preciso trazer randomicamente, um livro e suas 5 paginas, deu para entender! trazendo pelo id ele traz um livro e uma pagina. é o que tem em uma linha. então preciso trazer pelo livro pois ai ele trará as 5 páginas. ex. livro página jabuticaba 1 jabuticaba 2 jabuticaba 3 jabuticaba 4 jabuticaba 5 sucesso a todos
Gostei + 0
29/07/2010
Emerson Nascimento
begin
Randomize;
edit2.text := inttostr(random(10000)+1);
dm.qry_TABELA.close;
dm.qry_TABELA.sql.clear;
dm.qry_TABELA.sql.add('select * from biblia where livro = ');
dm.qry_TABELA.sql.add('(select livro from biblia where id = '+edit2.text+')');
dm.qry_TABELA.sql.add('order by pagina');
para uma melhor performance é preciso criar índices pelos campos livro, id e pagina.
Gostei + 0
29/07/2010
Geraldo Leal
Marcos e Eriley, boa tarde, quanto ao first, creio que so retornará os primeiros 10 ou quantos for colocados, não sei bem, e quanto ao codigo seu , marcos, está dando um pequeno erro, provavelmente eu não estou sabendo alguma coisa, mais não encontra quotetostr e já tentei quotedstr e outros, dá não localiza, ai seguinte, tenho este codigo abaixo, funcionou, porem tenho um problema, tenho que colocar um edit como pode ver procedure TFrm_pesquisa.SpeedButton11Click(Sender: TObject);
var
I: INTEGER;
Randomize;
for I := 0 to 100000 do
edit2.text:=inttostr(random(I));
//_sql:='SELECT * FROM TABELA WHERE id = '+ quotetostr(I);
dm.qry_TABELA.sql.clear;
dm.qry_TABELA.close;
dm.qry_TABELA.sql.add('select *');
dm.qry_TABELA.sql.add('from tabela');
dm.qry_TABELA.sql.add(' where id ='+ quotedstr(edit2.text)); acima traz pelo id. porem o seguinte. tenho no campo id numeros de 0 a 10000. so que nestes 10000 tenho um campo paralelo que é o campo livro que tem 20 livros. ou seja são 500 livros de cada então são 500 livros repetidos, o mesmo nome e cada livro tem 100 paginas ou seja cada página é repetida 5 vezes. então preciso trazer randomicamente, um livro e suas 5 paginas, deu para entender! trazendo pelo id ele traz um livro e uma pagina. é o que tem em uma linha. então preciso trazer pelo livro pois ai ele trará as 5 páginas. ex. livro página jabuticaba 1 jabuticaba 2 jabuticaba 3 jabuticaba 4 jabuticaba 5 sucesso a todos
Gostei + 0
29/07/2010
Geraldo Leal
begin
Randomize;
edit2.text := inttostr(random(10000)+1);
dm.qry_TABELA.close;
dm.qry_TABELA.sql.clear;
dm.qry_TABELA.sql.add('select * from tabela where livro = ');
dm.qry_TABELA.sql.add('(select livro from tabela where id = '+edit2.text+')');
dm.qry_TABELA.sql.add('order by pagina');
para uma melhor performance é preciso criar índices pelos campos livro, id e pagina.
Gostei + 0
29/07/2010
Geraldo Leal
Boa noite Emersom e a todos, tentei seu codigo , mais não funcionou comigo, não sei o motivo, quando retorna não traz dado nenhum. meu email é geraleal'@hotmail.com se me mandar um email, te mando um exemplo ai fica mais fácil para me ajudar. o resultado você posta aqui. grato sucesso geraldo leal
Gostei + 0
30/07/2010
Emerson Nascimento
Gostei + 0
30/07/2010
Geraldo Leal
desculpe emerson, foi erro de digitação, o correto geraleal1@hotmail.com sucesso geraldo leal
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)
Inserção de url
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.