![]() |
|
|
![]()
|
|
| dtp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Я новичек.
В IBDataSet создал 2 lookup дополнительных поля. Таблицы заполнены данными, но в lookup только в некоторых ячейках отображаются данные, иногда они появляются только если повторно ввести тот же самый номер в ключевое поле (столбец). То есть, в основной таблице храню ID имени и профессии, а в других таблицах - сами имена и профессии, и оттуда пытаюсь брать данные. Но уже на стадии проектирования видно, что большинство ячеек в lookup полях пустое. Это выглядит так: ID | Name_ID|Prof_ID| Name | Prof | 1 |1 |1 |Александр| | 2 |1 |1 | | | 3 |2 |1 |Олег | Строитель| 4 |3 |4 |Татьяна | Дизайнер | Использую Delphi2007, FireBird, IBExpert. Создал базу данных. В ней 3 таблицы: 1 Таблица: ID:Integer Name_ID:Integer Prof_ID:Integer 2 Таблица: ID:Integer Name:Char[20] 3 Таблица: ID:Integer Prof:Char[20] В клиенте исползую 3 цепочки: IBDatabase-IBTransaction-IBDataSet1-DataSource-DBGrid +IBTransaction-IBDataSet-DataSource-DBGrid +IBTransaction-IBDataSet-DataSource-DBGrid |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Хм... Может ты неправильно связал?
|
|||
|
||||
| dtp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Вот ссылка на файл - в нем база данных и клиент с исходниками.
http://files.wyw.ru/3744134 CodeGear Delphi2007, FireBird 2.5 Beta, компоненты InterBase Может быть можете прокоментировать, почему созданные в IBDataSet 2 lookup поля не отображаются (или частично отображаются)? Спасибо. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Ты так и не написал, в какой кодировке создавалась база.
Добавлено через 1 минуту и 22 секунды Советую убрать с FormActivate тот код. Событие FormActivate может быть вызвано за время работы приложения много раз. И каждый код в этом событии будет выполняться. Добавлено через 6 минут и 33 секунды Зачем ты для каждого НД создал отдельную транзакцию? |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Чувааак, О_о ты зачем присвоил компонентам IBDataSet2 и IBDataSet3 Datasource1? Ты где такое вычитал?
Добавлено через 1 минуту и 7 секунд Извини, исправленный проект выложить не могу, мой комп ща под капельницей. |
|||
|
||||
| dtp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Akella,
В компонентах IBDataSet2, IBDataSet3 в свойстве DataSource присвоен IBDataSet1, потому что в них используются такие SQL-запросы: select * from TBL_NAMES where (ID_NAMES=:NAME_ID) select * from TBL_PROF where (ID_PROF=:PROF_ID) NAME_ID и PROF_ID берутся из IBDataSet1. Приём взят из книги "Библия Дельфи", никаких других, более дельных примеров не нашлось. Жалко, что не можешь поделиться примером. А что насчет lookup полей? |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Я уже ответил. Повторюсь Добавлено через 1 минуту и 3 секунды А если тебе нужно Master-Detail, то кинь на форму отдельные наборы данных (НД). Нельзя использовать один и тот же НД и для lookup полей, и для Master-Detail. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |