Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

удаление? записей из запроса [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"ю записями ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо