Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2015, 07:53   #1
mr.Ulugbek
Новичок
Джуниор
 
Регистрация: 31.01.2015
Сообщений: 2
По умолчанию Дайте пример заполнение мастер детайл (инвойс) одним хранимой процедурой?

Привет всем
Хотел спросить можно ли заполнить мастер детайл (инвойс) одним хранимой процедурой?..
Примерно делаю так
Главная форма+ДбГрид+Датасет='select * from view order by 1'
Три кнопки Добавить,Редактировать,Удалить
При нажатия кнопки Добавить открываю вторую форму детали
для редактирование использую два датасета у обоих cachedUpdate = true стоит
1 - МастерДатасет = 'select * from master where id=-1'
2 - Детайл = 'select * from master where id=:master_id'

Мастер Сиквенс беру при инсерте. Заполняю мастера потом заполняю детали много товара если нажимать на отмену то все отменяется в базе ничего ни пишется если нажимать сохранить то все сохраняеться.. и обновляю Главную форму датасет..
Мне не нравиться в этом подходе что генерация сиквенса при инсерте если отменяет юзер то секвенс уже генерировался.

Как та можно все это в одном процедуре сделать
Примерно заполнил шапку инвойса потом детали к нему... и сохранить
Try
СтартТранзакция
вызов процедуры
Коммит
except
Роллбек

Рефреш датасет

ХП Процедура примерно

insert into master (gen(seq,1),name)
returning id into :id

insert detail (mastid)
:id

Как такое реализовать

Детали как буду передавать в цикле? Или есть какойта способ пакетно передача
mr.Ulugbek вне форума Ответить с цитированием
Старый 31.01.2015, 11:49   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

На ClientDataSet-е в связке с DataSetProvider и, например, ADOQuery можно реализовать. Все обновления отправляются на SQL-сервер одной командой - ApplyUpdates.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2015, 09:53   #3
mr.Ulugbek
Новичок
Джуниор
 
Регистрация: 31.01.2015
Сообщений: 2
По умолчанию

Спасибо обойдусь без процедуры
mr.Ulugbek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дайте пример настроенного httpd веб-сервера graveman PHP 11 21.09.2012 14:56
Проблема с хранимой процедурой в Delphi Innnni Помощь студентам 0 01.05.2011 18:54
Проблема с хранимой процедурой Lion-Tiger БД в Delphi 6 08.06.2009 13:32
Работа с хранимой процедурой MargoNik БД в Delphi 13 14.05.2009 20:53