|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Вставка Идентификатора
Доброго времени суток !
Мне снова требуется ваша помощь,уважаемые ! никак не могу понять... У меня есть 3 таблицы... Одна главная,и и две присоединенные... Все таблицы отображаются в в 3-х DBGrid'aх... На отдельной форме добавляются данные в эти таблицы... Но вот какая штука...Не добавляются идентификаторы для двух подчиненных таблиц..Т.е. поле пустое(NULL)... И В Гридах данные не отображаются...Хотя в таблицах то они есть... Как вставлять идентитфикатор первой таблицы для двух других?? |
#2
|
||||
|
||||
А вы реализовали отношение Мастер - детайл ваших таблиц?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Цитата:
Ну в делфи ADOTable соединены с главной... Master Source,Master Fields... Тобишь мне нужно выбрать значение первого грида,а в остальных гридах выскакивает доп инфа,по выбранному пункту... Но при добавлении этой доп инфы не прописывается идентификатор для связи с первой таблицей.. |
#4
|
||||
|
||||
Странно, должно работать. Скиньте кусок DFM-файла, где вы эти связи установили.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
ну так как..?
Помогите плиз...=)))) |
#7
|
||||
|
||||
Проект это конечно хорошо, но без БД или хотя-бы структуры таблиц вашей БД от нее толку мало.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
|||
|
|||
|
#9
|
|||
|
|||
|
#10
|
||||
|
||||
Т.е. в таблицу данные попадают, а в гриде их не видно? Попробуй обновить данные с сервера путем перевода Active таблиц в False и затем в True
|
#11
|
|||
|
|||
Цитата:
Таблицы соединены...т.е. в двух подчиненных таблицах отображаются данные имеющие связь по идентификатору с первой таблицей... А при заполнении этих таблиц мне надо как-то и во вторые таблицы записать соответсвующий идентификатор... |
#12
|
||||
|
||||
Я ее запустил все-же.
1. Сразу крик души. Никогда! Никогда! Не подключайте базу в дизайнмоде. Проверили подключение, убедились, что все работает и отключили сразу. Окончательное подключение, только на стадии запуска приложения. 2. Используйте не клиентский, а серверный курсор где это возможно - удивитесь нсколько все шустрее станет работать. 3. А неработает это у вас потому-что, на момент применения комманды Insert/Append значение ид_маршрута еще пусто. Заполниться оно после того как вы примените Post. Смотрите что получается: Table1.Insert - ид_маршрута = null Table2.Insert - ид_маршрута соответственно тоже null Table3.Insert - ид_маршрута соответственно тоже null далее вы делаете Post Table3.Post - ид_маршрута заноситься null Table2.Post - ид_маршрута заноситься null Table1.Post - ид_маршрута получает новое значение счетчика и уже не Null т.е. сначала добавляется значение в мастер-таблицу, записывается. И только после появления реального значения в ней можно и в подчиненных таблицах делать добавления. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 23.05.2009 в 14:07. |
#13
|
|||
|
|||
Так так..=)
Делаю так: Код:
ADOTable1.Insert; ADOTable2.Insert; ADOTable3.Insert; Код:
Form1.ADOTable1.Post; Form1.ADOTable2.Post; Form1.ADOTable3.Post; Как быть? |
#14
|
||||
|
||||
Не так. Я делал через Append, но я думаю это непринципиально.
Сначала делаете все с мастер-таблицей: Код:
ADOTable1.Append; ... ADOTable1.Post; Код:
ADOTable2.Append; ADOTable3.Append; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#15
|
|||
|
|||
Вотоно все как !
=))) Спасибо большое добрый человек ! ! ! |