| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Соединение баз как VFP |
| Автор: Dusimov 24.10.2002, 17:26 |
| Я раньше работал в Visual FoxPro. Сейчас течением обстоятельства мне нужен создат прогу в среде Delphi. У меня возникла проблема соединением таблиц типа .dbf , индексацию "дата+номер" вроде сделал но немогу соединит с другой таблицой той же параметрами (VFP проще было ). И еще в Gride немогу отображат словарную таблицу для основной таблици, т.к в главной таблице есть код страны, и.д. а другой код и название страны. Хочу чтобы в Gride отображался название страны Спасибо заранее! |
| Автор: Medved 25.10.2002, 03:23 |
| Есть два варианта (вообще больше, но я опишу два) 1) Я его не очень люблю использовать: Использовать свойства компонента TTable - MasterFields и MasterSource, детально все описывать не буду, там разобраться не сложно.... 2) Второй вариант я считаю более корректным, и к тому же если используешь клиент-серверную базу данных (промышленную, сетевую - кому как нравиться) например Oracle, Interbase, Informix, то лучше использовать компоненты Query..... (почему это уже другой вопрос) тогда алгоритм следующий: надо обрабатывать событие OnDataChange - TDataSource который привязан к главной таблице. Это событие наступает при навигации по набору данных основной таблицы, а обработчик должен выполнять следующие задачи: он должен формировать динамический запрос к базе для получения набора данных из словарной таблице, где условием будет является конкретное значение, по которому связывается основная и подчиненная табица.... Код приводить не буду, но если кто непоймет, пишите в этот форум.... приведу пример на основе таблиц из DBDEMOS |
| Автор: Cashey 16.11.2002, 08:29 |
| В DatabaseDesktop в Table properites есть пунк Dependent Tables в нем связываются таблицы. В дальнейшем это можно использовать уже непосредственно в TTable. С grid'ом сложнее, в Delphi есть такое понятие как "отоброжаемые поля" (не помню как по eng., LookupField кажется), т.е. курсор в одной таблице а отоброжается поле из другой но в гриде такой ф-ции нет, но можно попробовать прописать в ручную. А вообще конечно работать с базами в фоксе удобнее и проще. Нет идеала в этом мире |
| Автор: Medved 16.11.2002, 14:42 | ||||
В DatabaseDesktop ты так можешь связывать только таблицы Paradox, но это не ответ на вопрос который задавали!
Почитай и попробуй зделать мой ответ (см. выше) и у тебя получиться...... |