Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Передача данных из формы ввода сразу в несколько т |
Автор: maxkov 23.9.2010, 15:03 |
Нужно организовать ввод ввод данных из одной формы сразу в несколько таблиц БД. Таблицы имеют одинаковые поля, т.е., к примеру, "Поле1" есть и в таблице "А" и в таблице "Б". Все компоненты Table и DateSource cобаны в отдельном DataModule. Как сделать так чтобы при вводе данных в DBEdit они передавались и в таблицу "А" и в таблицу "Б"? А затем отображались а своих DBGrid. |
Автор: Данкинг 23.9.2010, 15:55 |
Вносить в первую таблицу, а затем запросами заполнять остальные. |
Автор: okkonst 23.9.2010, 17:42 |
А еще, сдается мне, что-то тут неправильно с нормализацией. С какой это радости в 2-х таблицах есть одинаковое редактируемое пользователем поле?? |
Автор: Antimol 23.9.2010, 20:11 | ||
Так может идет речь просто о ключевых полях, которые используются для связи 2-х таблиц (например id ) |
Автор: cat512 23.9.2010, 20:14 | ||||
Как вариант Аудитные таблицы, а их в системе может быть много, имеют одинаковое поле USER, или USER_ID. Но вообще-то в теме был задан вопрос о другом Добавлено через 6 минут и 6 секунд
Если реч идёт о связанных фрэймах, которые например отображают детэйл информацию, по ID основной таблицы, то вот тебе подсказка: используй систему сообщений После поста в таблицы, обрабатывай сообщение, и делай точечный рефреш по id |
Автор: okkonst 23.9.2010, 20:27 | ||||
Угу. И это, разумеется, редактируемые пользователем данные. Ты много естественных внешних ключей в своей жизни видел? Я - ни одного (кроме тех, за которые хотелось убить) Добавлено через 2 минуты и 3 секунды
Эти поля НЕ РЕДАКТИРУЕМЫ пользователем. И вопрос все о том же. Боюсь, вопрос о том, как правильно снимать штаны через голову. |
Автор: Deniz 24.9.2010, 07:10 |
ТС задал непонятный вопрос, и вот начались баталии, "а зачем?", "так нельзя" и т.д. Хочет, пусть делает, только вот непонятно в чем проблема. ТС не может взять значение из DBEdit и запихнуть его в другие таблицы? ИМХО, пока он вопрос не переделает и не предоставит хоть часть кода, который не получается, смысла рассуждать нет. |
Автор: cat512 24.9.2010, 09:13 | ||
Во первых: Какие "эти"??? Во вторых: Если речь идёт в контексте аудитных таблиц, то почему они не редактируемы??? Они могут быть как не редактируемыми (заполняться на сервере) так и редактируемыми (заполнятся с клиента) например если в систему нужно передавать доменного пользователя |
Автор: okkonst 25.9.2010, 12:07 | ||
Уточню: не редактируемы DBEdit'ами. Юзер в эти поля ничего не вводит. А речь в вопросе идет именно об этом: взять значение поля из DBEdit и запихнуть в несколько датасетов. Чисто дельфийскими средствами (без изменения запросов и применения триггеров или хранимок) это можно реализовать несколькими способами (навскидку придумал 3). Плюс - несколько способов с использованием SQL (в зависимости от примененной СУБД), что я бы безусловно предпочел в случае не аксесса и ему подобного. Вообще, чем больше думаю, тем более склоняюсь к мысли, что задача поставлена именно о снятии штанов через голову. |
Автор: cat512 27.9.2010, 09:26 | ||
С этим согласен. |