Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Случайный отбор, Random в Microsoft Access 
V
    Опции темы
kovalenko123
Дата 2.7.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Привет всем!!!
база 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 метров )) что можно предпринять?  smile 
PM MAIL ICQ   Вверх
Romikgy
Дата 2.7.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



может проще сделать выборку только Rnd поля ,
в дельфи выбрать случаныйм образом 40 записей, и послать запрос используя WHERE Rnd=..... и перечислить все 40 rnd ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Akella
Дата 2.7.2009, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(kovalenko123 @  2.7.2009,  13:58 Найти цитируемый пост)
код рабочий но ужасно медленный

а индексы есть?

Добавлено через 43 секунды
Цитата(kovalenko123 @  2.7.2009,  13:58 Найти цитируемый пост)

и еще вопрос при работе проги с этим запросом у оперативы она ест 150 метров )) что можно предпринять?

ну....... нам-то откель знать про архитектуру твоего приложения???

Добавлено через 2 минуты и 26 секунд
Может у тебя НД одновременно открытых дофига, может ты тянешь сразу мульён записей на клиента или записи слишком тяжелые, может у тебя много форм сразу создаётся (создавай по необходимости и сразу уничтожай при ненадобности), может у тебя комонент много очень на формах, а если ещё и юникодная прога....
PM MAIL   Вверх
Данкинг
Дата 2.7.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Код

for i:=1 to 40 do
 begin
  r:=random(900);
  adotable.recno:=r;
 end;

 smile 
Только ещё добавить проверку, не выпадало ли уже данное число.

Это сообщение отредактировал(а) Данкинг - 2.7.2009, 15:55


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
kovalenko123
Дата 2.7.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Akella
Цитата

а индексы есть?

не индексов нет.

Все дело в базе потому как када ставлю на query активе в фальш то прога весит 16 метров как тока труе то все 150  smile 

из этого думаю выйти след образов сначала законять в фильтр необходимые данные потом активировать чтоб в датасете изначально были не все данные а тока те кот надо отобразить...

Romikgy
Цитата

может проще сделать выборку только Rnd поля

не может это проще но не подойдет

я думал может есть в скл еще какие нить фичи для этого...

Данкинг
 smile 
PM MAIL ICQ   Вверх
Akella
Дата 2.7.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(kovalenko123 @  2.7.2009,  13:58 Найти цитируемый пост)
Вопросы.Img, 

Это изображение? Может дело в нём?
PM MAIL   Вверх
kovalenko123
Дата 2.7.2009, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Akella
Это блоб поле с изображениями... 
Цитата

(Может дело в нём?) 

может быть, но мне ни как не обойтись без них ((
PM MAIL ICQ   Вверх
Akella
Дата 3.7.2009, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



А что, сразу все картинки нужно тянуть на клиента? Может можно по одной?
PM MAIL   Вверх
kovalenko123
Дата 4.7.2009, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Это же по сути запись в базе.

У меня 2 таблици 1 это типа раздел а вторая вопросы к разделу соеденены 1 ко многим

так вот пользователь выбирает сначала раздел потом отвечает на вопросы. поэтому профильтровать 2 таблицу я врялти смогу (чтобы тянуть записи по 1)

А вообше картинки много ресурсов требуют в Microsoft Access ??? 
PM MAIL ICQ   Вверх
Akella
Дата 4.7.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Дело не в акцессе, как ты не поймёшь? Картинка(и) что, места в памяти не занимает?
PM MAIL   Вверх
kovalenko123
Дата 4.7.2009, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



ммм просто разные мысли есть.

Но знаю сто проц что прога занимает 150 метров тока после активации запроса (на соединение 2 таблиц).

В общем идея с фильтрами прокатила у меня теперь в базе тока что что пользователь выбрал остальное все профильтрвываеться.

PM MAIL ICQ   Вверх
kovalenko123
Дата 7.7.2009, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Всем спасибо,  добавил фильтр, прога полетела  smile  и рандом оказался нормальный.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1819 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.