Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Как в ClientDataSet организовать выборку из ClientDataSet ов.   Найти похожие ветки 

 
Aleksandr ©   (2004-01-08 13:12) [0]

Есть несколько файловых 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 13:40) [1]

Сами данные хранятся в CDS-файлах надо понимать ?
Тогда SQL запросы тут как бы не к месту :-)
Почитай про LookUp поля в TDataSet, думаю в твоем случае - это то что нужно.


 
MV   (2004-01-08 14:14) [2]

Никак. Только ручками, перебирать в цикле, сравнивать и т.д. :(


 
Aleksandr ©   (2004-01-08 14:31) [3]

Да про LookUp я знаю... Просто он тоже не подарок, когда десяток справочников подключаешь (по скорости). Вот и надеялся, что может, есть у ClientDataSet какая-то скрытая моща, потому как странно, что формирование подзапросов для своих файлов у него отсутствует....


 
Vlad ©   (2004-01-08 14:37) [4]


> Aleksandr © (08.01.04 14:31) [3]

Десяток справочников ????? И все это без СУБД, на чистых ClientDataSet"ах ????
Ну это.... мягко говоря ненормально :-)


 
MV   (2004-01-08 16:08) [5]

Да классно, я недавно одну крошку - СУБД переделал на такой режим. Да, извращение. Но зато прога и база вся (зарареная, есн-но), на дискетку лезут.


 
Aleksandr ©   (2004-01-08 16:43) [6]

Вот в том-то и дело. Извращение не извращение, а возможности BDE для моей системы себя исчерпали уже пару лет назад (извините, но никаких индексов на лету и фильтров там не применишь, когда у тебя 10000 записей, собранных из десятка-двух справочников - ждать умрешь. Альтернатив маленьких драйверов нет, а восьмистам юзверам, живущим по всей СНГ, я Интербазу не буду ездить устанавливать ради локальной программы - это уж будет извращение похлеще любых лукапов.


 
MV   (2004-01-08 16:48) [7]

Интербаза уже есть эмбеддед! FireBird 1.5 - просто добавляешь в директорию проги одну DLL - ку - и все! И никакой инсталляции! Правда, режим однопользовательский. Но все очень удобно и шустро!


 
Vlad ©   (2004-01-08 16:50) [8]


> Aleksandr © (08.01.04 16:43) [6]

Есть клон InterBase, Называется Yaffil Personal. Заточен специально для локальных БД.
Требует всего одной библиотеки gds32.dll (кстати ClientDataSet требует midas.dll) Кидаешь эту библиотеку в один каталог с файлом базы данных и вперед.
Кстати говоря - 10000 записей это ничто для IB


 
MV   (2004-01-08 16:52) [9]

(кстати ClientDataSet требует midas.dll)
Не обязательно. В Uses добавлаешь midaslib, и все.


 
Vlad ©   (2004-01-08 16:58) [10]


> MV (08.01.04 16:52) [9]

Ну все равно, пускай у тебя будет одна лишняя библиотека - gds32.dll в папке, но зато работаешь с нормальной базой, в отличие от CDS файлов.


 
MV   (2004-01-08 17:01) [11]

Согласен! Просто бывает нужно было обеспечить ОСОБУЮ компактность. Типа "прога+данные на одной дискетке"


 
Term ©   (2004-01-08 17:09) [12]


> Согласен! Просто бывает нужно было обеспечить ОСОБУЮ компактность.
> Типа "прога+данные на одной дискетке"

при таком объёме и тормоза??? может тут еще в чём то дело?


 
MV   (2004-01-08 17:11) [13]

Да это не у меня. Хотя можно добиться и тормозов.


 
Term ©   (2004-01-08 17:17) [14]

!!!!! :D


 
MV   (2004-01-08 17:17) [15]

А ты думал!


 
Aleksandr ©   (2004-01-08 17:33) [16]

Ну-ка ну-ка... Будьте добры, Расскажите-ка поподробнее про эту усеченку или ссылку на нее дайте!


 
MV   (2004-01-08 17:35) [17]

http://sourceforge.net/projects/firebird

http://sourceforge.net/project/showfiles.php?group_id=9028&package_id=9104


 
MV   (2004-01-08 17:37) [18]

А еще - она не усеченка. Просто на одно подключение единовременно.


 
Vlad ©   (2004-01-08 17:45) [19]

Вот еще вариант
http://yaffil.ibase.ru/news.htm


 
MV   (2004-01-08 17:46) [20]

Еще:
http://yaffil.ibase.ru/download.htm

Шустрая - жуть.


 
Aleksandr ©   (2004-01-08 17:57) [21]

Господи... Что же качать оттуда-то? Там столько их...


 
Vlad ©   (2004-01-08 17:58) [22]


> Aleksandr © (08.01.04 17:57) [21]

Какой ссылкой пользовались ?


 
Aleksandr ©   (2004-01-08 18:02) [23]

Вашей. Там что-то куча разновидностей, какая нужна?


 
Vlad ©   (2004-01-08 18:08) [24]

нужно скачать:
сборка супер/классик/персонал
Единственная папка которая нужна вам - это yaffil.em
это типа Yaffil Embedded


 
Vlad ©   (2004-01-08 18:11) [25]

Там три библиотеки, но для работы приложения достаточно одной gds32.dll иметь в папке с приложением.
msvcr70.dll - нужна для работы IBExpert
ib_util.dll - набор полезных UDF


 
Aleksandr ©   (2004-01-08 18:12) [26]

А через какие компоненты все это работает?


 
Vlad ©   (2004-01-08 18:13) [27]


> Aleksandr © (08.01.04 18:12) [26]

Все работает через стандартные дельфовые IBX (вкладка Interbase)


 
div   (2004-01-08 18:47) [28]

советую так же внимательно причитать лицензию на midas )))
что б его использовать в таком режиме как используете Вы очень много килобаксов дяде Борману отвалить нужно ))))))



Страницы: 1 вся ветка

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.02 c
14-2369
Сатир
2004-01-08 18:25
2004.02.02
Кодеки


3-1957
Виталий
2004-01-09 15:52
2004.02.02
ApplyUpdates


1-2111
pashtet
2004-01-19 18:15
2004.02.02
TDBGRID!!!!!


4-2423
voe
2003-11-23 02:05
2004.02.02
Создания архиватора


3-2020
Term
2004-01-06 15:43
2004.02.02
Посоветуйте компонент который бы 100% подерживал бы клиперовские