Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];

Вниз

Изменение записей из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
15-1202376215
ANB
2008-02-07 12:23
2008.03.16
"Народные ИПО" - кидалово ?


2-1203417480
Stunt
2008-02-19 13:38
2008.03.16
Передача PDouble в dll, компилированную в Билдере


2-1201868147
S@shka
2008-02-01 15:15
2008.03.16
Привязка формы к окну другого приложения (Form1.Parent - ??)


2-1203493310
Dasting
2008-02-20 10:41
2008.03.16
Директива out


2-1202729073
Vayrus
2008-02-11 14:24
2008.03.16
FastFileCopy





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский