Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

Randomaize   Найти похожие ветки 

 
mikola   (2004-07-07 13:50) [0]

Здравствуйте.
Подскажите пожайлуста как можно сделать так чтобы записи которые есть в базе показывались произвольным образом(тоесть типа Randomaze) и если например показалось 30 записей то показать сообщение.

Заранее спасибо.


 
Курдль ©   (2004-07-07 13:58) [1]

У записей ID есть?
Да и вообще, самому лень, что ли, подумать? :(


 
Anatoly Podgoretsky ©   (2004-07-07 14:01) [2]

Написать наследника от TDataset


 
miwa ©   (2004-07-07 15:27) [3]

Хм... Дайте подумаю... А разве записи из базы при использовании select"а как-то отсортированы? Что мешает просто показывать их в порядке получения?


 
Sandman25 ©   (2004-07-07 15:28) [4]

[3] miwa ©   (07.07.04 15:27)

Бывает, что отсортированы. Бывает, что если 5 раз пишем один и тот же select, то 5 раз получаем данные в одном и том же порядке.


 
Sir John ©   (2004-07-07 17:56) [5]

для MySQL сие выглядит вот так:

SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000

MySQL Reference Manual (C) 2002 MySQL AB


 
mikola   (2004-07-08 08:19) [6]

А можно как нибудь подсчитать количество записей в таблице, и потом просто делать переход по ним произвольным образом подставльть номер записи на которую нужно перейтий.

Блин есё надо чтобы показываемые записи неповторялись.


 
Ratiborr ©   (2004-07-08 10:47) [7]

Можно создать новый набор данных:ид_записей, №записи_в_НД(тот же SELECT ;)). теперь можно использовать randomize(). получив №, можно перейти к самому идешнику. и сЁ. а чтобы не повторялись элементы, написать обработочку, когда random"ом пользуешься.


 
Ratiborr ©   (2004-07-08 11:06) [8]

Пришел как-то однажды Locate к Randomiz"у.......:)


 
mikola   (2004-07-08 12:45) [9]

>>>>>>>>Ratiborr

А ты немогбы по подробнее рассказать о

>>  чтобы не повторялись элементы, написать обработочку, когда random"ом пользуешься.


 
Ratiborr ©   (2004-07-08 12:58) [10]

На сколько я понял, кол-во записей конечно. т.е. рано или поздно процесс выборки без повторений закончится. так? если так, то можно сделать след. в цикле: выдергиваешь рандомайзем записи, параллельно с этим ведешь список уже выдернутых записей. так вот, выдернул - проверил на вхождение в список уже выдернутых(не входит - попрет и сразу же обновляешь список выдернутых, входит - цикл дальше гоняешь). возможно есть способ рациональней. но это первое, что мне пришло в голову.



Страницы: 1 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.039 c
14-1089963327
Некрофил-затейник__
2004-07-16 11:35
2004.08.01
Греки сыграли с партугальцами 1:0


9-1082207751
AlexNx
2004-04-17 17:15
2004.08.01
Алгоритм попадания точки


4-1087230752
Алексей Петухов
2004-06-14 20:32
2004.08.01
Точка на доп. клавиатуре


3-1089192594
Fast
2004-07-07 13:29
2004.08.01
Explorer like ComboBox


1-1089872424
Amid
2004-07-15 10:20
2004.08.01
Помогите !!!!! В процедуре Execute не работает Memo1.Lines.Add()