![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в ClientDataSet организовать выборку из ClientDataSet ов. [D7, MSSQL]
Aleksandr © (2004-01-08 13:12:00)
Есть несколько файловых ClientDataSet"ов, в которых содержится справочная информация по типу CurrencyID, CurrencyName и главная таблица по типу Field1, Field2, CurrencyID. Есть ClientDataSet, дающий JOIN-отображение. Через TQuery и таблицы Парадокс раньше все было просто: в самом запросе пишешь
SELECT Field1,Field2,Currencies.CurrencyName FROM Table1
LEFT JOIN Currencies ON Currencies.CurrencyID=Table1.CurrencyID
А как сделать подобное подсоединение через файловые ClientDataSet? Просто хочется избавиться от задолбавшего глюками и тормозами Парадокса, ClientDataSetы со своими файловыми таблицами работают не в пример быстрее и проще, но с визуализацией справочников все трудно.
Vlad (2004-01-08 16:50:00) [21]
> Aleksandr © (08.01.04 16:43) [6]
Есть клон InterBase, Называется Yaffil Personal. Заточен специально для локальных БД.
Требует всего одной библиотеки gds32.dll (кстати ClientDataSet требует midas.dll) Кидаешь эту библиотеку в один каталог с файлом базы данных и вперед.
Кстати говоря - 10000 записей это ничто для IB
MV (2004-01-08 16:48:00) [22]
Интербаза уже есть эмбеддед! FireBird 1.5 - просто добавляешь в директорию проги одну DLL - ку - и все! И никакой инсталляции! Правда, режим однопользовательский. Но все очень удобно и шустро!
Aleksandr (2004-01-08 16:43:00) [23]
Вот в том-то и дело. Извращение не извращение, а возможности BDE для моей системы себя исчерпали уже пару лет назад (извините, но никаких индексов на лету и фильтров там не применишь, когда у тебя 10000 записей, собранных из десятка-двух справочников - ждать умрешь. Альтернатив маленьких драйверов нет, а восьмистам юзверам, живущим по всей СНГ, я Интербазу не буду ездить устанавливать ради локальной программы - это уж будет извращение похлеще любых лукапов.
MV (2004-01-08 16:08:00) [24]
Да классно, я недавно одну крошку - СУБД переделал на такой режим. Да, извращение. Но зато прога и база вся (зарареная, есн-но), на дискетку лезут.
Vlad (2004-01-08 14:37:00) [25]
> Aleksandr © (08.01.04 14:31) [3]
Десяток справочников ????? И все это без СУБД, на чистых ClientDataSet"ах ????
Ну это.... мягко говоря ненормально :-)
Aleksandr (2004-01-08 14:31:00) [26]
Да про LookUp я знаю... Просто он тоже не подарок, когда десяток справочников подключаешь (по скорости). Вот и надеялся, что может, есть у ClientDataSet какая-то скрытая моща, потому как странно, что формирование подзапросов для своих файлов у него отсутствует....
MV (2004-01-08 14:14:00) [27]
Никак. Только ручками, перебирать в цикле, сравнивать и т.д. :(
Vlad (2004-01-08 13:40:00) [28]
Сами данные хранятся в CDS-файлах надо понимать ?
Тогда SQL запросы тут как бы не к месту :-)
Почитай про LookUp поля в TDataSet, думаю в твоем случае - это то что нужно.