Главная страница
    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.46 MB
Время: 0.005 c
2-1202992737
макх
2008-02-14 15:38
2008.03.16
Формат файла


15-1202145054
Kerk
2008-02-04 20:10
2008.03.16
Борьба с пробками


15-1202197190
Шмелъ
2008-02-05 10:39
2008.03.16
Оффтоп. Linux. /dev/null


2-1203379580
fluxion
2008-02-19 03:06
2008.03.16
SQL запрос. Нужна помощь.


11-1186028971
sunwise
2007-08-02 08:29
2008.03.16
Как дождаться исполнения консольного приложения? Подскажите.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский