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

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

Изменение записей из DBGRID [D7, IB6.x]


olevacho_ ©   (2007-10-22 16:54:00) 

Нужно сделать так чтобы юзер мог добавлять, изменять, и удалять записи таблиц используя DBgrid. Проблема в том что набор данных который должен отображаться в сетке состоит из 2 таблиц через Select (IBDataSet). Кешированые изменения не подойдут потому что при добавлении  новой записи нужно добавить запись в 2 таблицы, при удалении удалить из двух таблиц а при изменении - изменяется запись из 1 таблицы. TibUpdateSql выполняет один запрос за 1 раз а мне нужно 2. Работаю на firebird


Виталий Панасенко(дом)   (2007-10-23 16:00:00) [1]

FIBPlus не поможет ? Я таким не страдал, но там можно много UpdateObject привязать в к одному DataSetу... В отличии от IBX, у которых UpdateObject - св-во IBDataSet(и остальных), у FIBPLus у каждого UpdateObject есть св-во - dataSet, с которым этот UpdateObject работает.. Т.е. можно не только 2, но и 102 использовать


Sergey13   (2007-10-23 15:38:00) [2]

> [7] olevacho_ ©   (23.10.07 15:21)

Ты придумал порочную идею пользовательского интерфейса и пытаешься переделать НОРМАЛЬНОЕ поведение СТАНДАРТНОГО компонента под эту свою идею. Это неправильно и чревато последствиями при эксплуатации.

То, что ты задумал проще рещать через вьюху и тригеры на нее, но, повторю, это неправильно удалять данные из справочника при отсутствии ссылок на них.


olevacho_   (2007-10-23 15:21:00) [3]


> Как же ты будешь удалять сразу из обеих таблиц, если на
> записи в одной таблицу ссылаются несколько записей в другой?
>  То-же и со вставкой.

С удалением согласен при условии что в подчиненной таблице есть > 1 записи связанные с первой таблицей. Но если нет то нужно стирать из 2 таблиц?
При вставке если уже есть соответсвующая запись в мастер таблице то конечно вставляется одна. Но меня интересует сейчас только тот случай когда нужно всатвлять 2 записи и удалять тоже 2.


Sergey13   (2007-10-23 08:50:00) [4]

> [3] olevacho_ ©   (22.10.07 21:14)
> 1:много?

Тогда у тебя нестыковка.

> при добавлении  новой записи нужно добавить запись в 2 таблицы,
> при удалении удалить из двух таблиц а при изменении - изменяется
> запись из 1 таблицы

Как же ты будешь удалять сразу из обеих таблиц, если на записи в одной таблицу ссылаются несколько записей в другой? То-же и со вставкой.
У тебя в проектировании ошибка.


Petr V.Abramov   (2007-10-23 00:55:00) [5]

так авор и пересмотрел. исходя из того, что юзер будет видеть, а не из нормальных форм (которые автор тоже предусмотрел)
и тто, и то - наверное, ни для критики ни для чего другого :) формально повода нет


Johnmen   (2007-10-22 23:45:00) [6]

Пересмотри свой GUI. В сторону стандартных решений, привычных пользователю.


olevacho_   (2007-10-22 21:14:00) [7]


> А связь между таблицами 1:1 или 1:много?


1:много?


Petr V.Abramov   (2007-10-22 17:02:00) [8]

CachedUpdates + вызов хранимок на BeforePost и BeforeDelete


Sergey13   (2007-10-22 16:57:00) [9]

> [0] olevacho_ ©   (22.10.07 16:54)

А связь между таблицами 1:1 или 1:много?


Наверх

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