Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
Всем привет. такой вопрос: как выбрать все уникальные значения поля у компонента TDataSet. Именно у него, а не у конкретного наследника. Я сделал процедуру с последовательным просмотром, работает медленно. Может кто подскажет алгоритм побыстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2003, 19:12 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
У самого компонента TDataSet нет никаких своих уникальных значений полей - они есть в конкретном возвращаемым recordsetе набор которого зависит от запроса к базе не проще ли их получить сделав запрос сразу возвращающий эти уникальные значения Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 07:03 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
Дело втом что я работаю в данном проекте именно на уровне TDataSet. В зависимости от выбора пользователя создается объект типа либо TAdoTable, либо TAdoQuery, либо TRxMemoryData. Может и BDE включу. И как мне использовать distinct? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 09:19 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
может тебя натолкнет на мысль... инструкция Group by на сервере сперва сортирует множество и потом за один проход решает всю задачу. В твоем случае можно поступить аналогично. Хотя вроде появилась мысль... Но она требовательна к памяти. Выбираешь последовательно элементы из датасета и складываешь их в упорядоченном виде в массив, паралельно проверяя на уникальность. Думаю как организовать более менее эффективный поиск в массиве для тебя сложностей не предоставит. В итоге мы получаем всего один проход по датасету и поис все время в отсортированном множестве. Можно распаралелить выборку элементов датасета и поиск в массиве. Дело в том что выборка из датасета это фактически fetch которы тянется по сети и довольно накладная по времяни процедура. А отсюда, пока тянем с медленной карточки следующий элемент, можно занятся поиском в сортированном массиве ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 09:29 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
если вам не подходит получать список неповторяющихся полей отдельным запросом то кроме пробегания по всему DataSet-у ничего не остается проверте только чтобы были отключены все контролы перед пробеганием Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 09:32 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
LexusR учти, что просто пробежать по датасету не получится... надо еще сравнивать с тем что было уже получено... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 09:34 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
это понятно )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 09:54 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
Спасибо У меня тоже такая мысль есть, но все надеялся, мало ли может готовое есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:47 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
если уж пишешь на абстрактных компонентах, то наврятли что-то будет готовое :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 03:29 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
2 optimazer: посмотри сюда, для универсального решения подойдет я думаю http://www.sigmap.com/MainFrame.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 06:37 |
|
||
|
уникальные значения поля
|
|||
|---|---|---|---|
|
#18+
to srf2000 без исходников неинтересно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2003, 11:55 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=1974&tid=2115493]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 377ms |

| 0 / 0 |
