Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Изменение записей из DBGRID   Найти похожие ветки 

 
olevacho_ ©   (2007-10-22 16:54) [0]

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


 
Sergey13 ©   (2007-10-22 16:57) [1]

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

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


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

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


 
olevacho_ ©   (2007-10-22 21:14) [3]


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


1:много?


 
Johnmen ©   (2007-10-22 23:45) [4]

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


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

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


 
Sergey13 ©   (2007-10-23 08:50) [6]

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

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

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

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


 
olevacho_ ©   (2007-10-23 15:21) [7]


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

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


 
Sergey13 ©   (2007-10-23 15:38) [8]

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

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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
2-1202649076
ChaosAD
2008-02-10 16:11
2008.03.16
Разница между Датами


2-1203330143
AlexAA
2008-02-18 13:22
2008.03.16
Границы Memo


3-1193464759
olevacho_
2007-10-27 09:59
2008.03.16
Обращение к разным БД в одном запросе


3-1193041148
kyn66
2007-10-22 12:19
2008.03.16
Связь Delphi - 1C


2-1203410091
ryden
2008-02-19 11:34
2008.03.16
результат sql запроса