Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Внизкак с помощью random выбрать запись из таблицы Найти похожие ветки
← →
sanek © (2004-10-22 07:38) [0]Уважаемые мастера помогите. Проблема состоит в следующем: Нужно случайным образом выбрать запись из таблицы (допустим по ID) и во избежании повторения ее удалить её.
Необходим сам синтаксис написания в Delphi.
Зарание блогадорю.
С уважением к мастерам ~(SANEK)~.
← →
makz (2004-10-22 07:50) [1]Первый нах!
шутка :)
Что за таблица-то? Table или Query или еще чего?
← →
ЮЮ © (2004-10-22 08:10) [2]>Нужно случайным образом выбрать запись из таблицы (допустим по ID) и во избежании повторения ее удалить её.
Удаляй сразу все, метод тыка - ненаучный подход !!!
← →
DenK_vrtz © (2004-10-22 08:14) [3]>sanek ©
такую лабу в прошлом году уже делали :)
← →
Геннадий (2004-10-22 08:14) [4]Опиши яснее - что тебе нужно и зачем?
← →
sanek © (2004-10-22 10:29) [5]короче есть таблица dbf из неё нужно выбрать запись причем случайнам образом как это сделать из delphi
← →
Sergey13 © (2004-10-22 10:35) [6]2[5] sanek © (22.10.04 10:29)
Смысл задачи какой?
>короче есть таблица dbf из неё нужно выбрать запись причем случайнам образом как это сделать из delphi
Однопользовательский режим? Если да, то можно решить в лоб. Делаем доп. поле. В цикле пишем в него random и сортируем по нему. При выборе записи - обнуляй поле.
← →
DenK_vrtz © (2004-10-22 10:43) [7]еще вариант
1.Скидываем значения id-ов в некий список
2.Генерим случайное число в заданном диапазоне
3.Проверяем входит ли это число в список id, если да то показываем эту запись.
чуть не оптимально, поскольку сгенерированное число может не входит в список id, зато полность по условию задачи
← →
msguns © (2004-10-22 10:45) [8]Я предлагаю метод куда покруче. Значицца так:
Для каждого из полей таблы рисуем генератор случайного значения.
Запускаем все генераторы и получаем N случайных значений для всех N полей записи. После этого делаем Locate по всем полям таблицы (табла, ясный пень, юзается эксклюзивно). Если не найдена, то опять запускаем все генераторы и по новой. Такой метод обеспечит совершенно случайный выбор записи. Если найдена, то удалить к чертовой матери. Причем сразу всю таблицу ! Основание: если таблица содержит такую запись, значит все, что в ней имеется, не имеет смысла !
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c