![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
удаление? записей из запроса [D6, Paradox]
Мыш © (2004-02-06 20:41:00)
Можно ли имея уже готовую выборку, созданную запросом в TQuery модифицировать без изменения исходного набора данных (т.е. физической таблицы)? Извиняюсь за возможно неправильную терминологию, поясню еще так: есть таблица на диске, база - парадокс, движок - БДЕ, я делаю выборку из этой таблицы например "SELECT * FROM таблица WHERE Num>5"
А потом мне нужно из выбранных к примеру, 20 записей, получить вссего пять, выбрав их случайным образом. Как это сделать без создания временной таблицы на диске, в которую просто циклом используя moveby и random выбрать 5 записей, а уже потом из временной - селект олл.() - это единственный способ, который приходит в голову Нет ли более элегантного решения? Спасибо.
sniknik (2004-02-07 22:52:00) [1]
BDE
Мыш (2004-02-07 22:49:00) [2]
Да, DbiMakePermanent действительно хороший выход. Вот только я не понял - где эта функция находится? В методах TQuery нет, в исходниках дельфи - нет.. Чего же в юзес прописывать?
sniknik (2004-02-07 00:03:00) [3]
проще всего использовать фильтр(значения для фильтра через random) а не получать физически обрезанный набор, ведь у тебя BDE он отсоеденение рекорсета как в ADO непозволяет.
посложнее можно результет запроса сделать таблицей (DbiMakePermanent) и удалить лишнее ... ну или повторить выборку из нее как у тебя.
Johnmen (2004-02-07 00:02:00) [4]
А что потом делать с этими 5"ю записями ?