![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение записей из 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:много?