Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];

Вниз

Как в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.01 c
3-1981
keymaster
2004-01-06 16:20
2004.02.02
Обращение к 2м базам в 1 запросе


1-2103
Barbarian five
2004-01-19 22:22
2004.02.02
Как сделать освещение TImage (линейное, радиальное)


14-2322
ZDima
2004-01-11 18:21
2004.02.02
Помогите


1-2169
cypher
2004-01-20 17:47
2004.02.02
Глюки с отладкой в Д6


1-2077
Marina_S
2004-01-20 12:08
2004.02.02
установка RXlibrary





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский