Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO master-detail: почему нельзя detail'у сказать Append?


azamatufa ©   (2008-04-10 15:11:00) 

при Append ругается ".... Field 'ID' cannot be modified'

(у Detail датасета, в свойстве 'DataSource' указан датасорс мастера.)


azamatufa   (2008-04-11 08:22:00) [1]


> А какой смысл менять ИД, к тому же оно реадонли


в том то и дело, ИД я не трогаю, обработчиков нет.

нашел причину.

дело в том, что у меня в обоих таблицах одинаковые поля ID.
стоило в Мастер запросе сказать 'SELECT ID AS Master_ID, ..... '
а в Детаиле сказать 'SELECT * FROM Detail  WHERE F_Key = Master_ID'

проблема ушла.

(было так:)
мастер: SELECT * FROM Master
detail:   SELECT * FROM Detail WHERE F_Key = :ID


Sergey13   (2008-04-10 16:49:00) [2]

> [4] azamatufa ©   (10.04.08 16:17)

А обработчики какие нибудь есть? Может там что-то мешает?


Anatoly Podgoretsky   (2008-04-10 16:36:00) [3]


> ID (autoinc)
> Detail_Text
> F_Master_ID

А какой смысл менять ИД, к тому же оно реадонли


azamatufa   (2008-04-10 16:17:00) [4]


> ну и? все логично. Нельзя менять поле типа счетчик


но ведь если я работаю без master-detail, скажем просто беру
Query1.sql.text := 'select * FROM master-table';
Query1.Open;
Query1.Append;

все работает!

а тут на Append ругань....


clickmaker   (2008-04-10 16:09:00) [5]

ну и? все логично. Нельзя менять поле типа счетчик


azamatufa   (2008-04-10 16:02:00) [6]

ACCESS

MASTER
----
ID (autoinc)
Master_Text

DETAIL
-----
ID (autoinc)
Detail_Text
F_Master_ID


clickmaker   (2008-04-10 15:34:00) [7]

ID - identity (autoinc)?


Наверх

Титульная страница Поиск, карта сайта Написать письмо