| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Случайный отбор |
| Автор: kovalenko123 2.7.2009, 13:58 |
| Привет всем!!! база Microsoft Access технология Ado , delphi Ребят помогите отобрать случайным образом 40 записей в базе 900 есть такой код Query.Close; Query.SQL.Clear; Query.SQL.Add('SELECT TOP 40 Вопросы.Номер, Вопросы.Вопрос, Вопросы.Вар1, Вопросы.Вар2, Вопросы.Вар3, Вопросы.Вар4, Вопросы.Вар5, Вопросы.Img, Вопросы.Прав, Вопросы.Комент, Вопросы.Код'); Query.SQL.Add('FROM Вопросы'); Query.SQL.Add('ORDER BY RND(Rnd)'); Query.Open; где Rnd это счетчик в таблице код рабочий но ужасно медленный может кто нить подскажет какое нибудь другое решение ? и еще вопрос при работе проги с этим запросом у оперативы она ест 150 метров )) что можно предпринять? |
| Автор: Romikgy 2.7.2009, 15:10 |
| может проще сделать выборку только Rnd поля , в дельфи выбрать случаныйм образом 40 записей, и послать запрос используя WHERE Rnd=..... и перечислить все 40 rnd ? |
| Автор: Данкинг 2.7.2009, 15:54 | ||
Только ещё добавить проверку, не выпадало ли уже данное число. |
| Автор: kovalenko123 2.7.2009, 18:56 | ||||
Akella
не индексов нет. Все дело в базе потому как када ставлю на query активе в фальш то прога весит 16 метров как тока труе то все 150 из этого думаю выйти след образов сначала законять в фильтр необходимые данные потом активировать чтоб в датасете изначально были не все данные а тока те кот надо отобразить... Romikgy
не может это проще но не подойдет я думал может есть в скл еще какие нить фичи для этого... Данкинг |
| Автор: Akella 2.7.2009, 20:33 |
Это изображение? Может дело в нём? |
| Автор: kovalenko123 2.7.2009, 20:40 | ||
| Akella Это блоб поле с изображениями...
может быть, но мне ни как не обойтись без них (( |
| Автор: Akella 3.7.2009, 18:08 |
| А что, сразу все картинки нужно тянуть на клиента? Может можно по одной? |
| Автор: kovalenko123 4.7.2009, 07:27 |
| Это же по сути запись в базе. У меня 2 таблици 1 это типа раздел а вторая вопросы к разделу соеденены 1 ко многим так вот пользователь выбирает сначала раздел потом отвечает на вопросы. поэтому профильтровать 2 таблицу я врялти смогу (чтобы тянуть записи по 1) А вообше картинки много ресурсов требуют в Microsoft Access ??? |
| Автор: Akella 4.7.2009, 13:16 |
| Дело не в акцессе, как ты не поймёшь? Картинка(и) что, места в памяти не занимает? |
| Автор: kovalenko123 4.7.2009, 16:27 |
| ммм просто разные мысли есть. Но знаю сто проц что прога занимает 150 метров тока после активации запроса (на соединение 2 таблиц). В общем идея с фильтрами прокатила у меня теперь в базе тока что что пользователь выбрал остальное все профильтрвываеться. |
| Автор: kovalenko123 7.7.2009, 07:47 |
| Всем спасибо, добавил фильтр, прога полетела |