Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Мощная заморочка ;для знатоков SQL! Помогите плз [D5, IB5.x]


John13 ©   (2002-10-29 12:40:00) 

Проблема:
Связываю два Query через DataSourse Query2->DataSourse1->Query1 и пытаюсь из Query2 обратиться к выборке Query1 по параметру скажем [:ID]. Query2 вообще-то делает Update, но глючит и модернизирует только строку соответсвующую 1-й из выборки Query1.
Добавил в Update ... Where Exists (Select ... ID=:ID) - аработало, но так тормозит :( (Все же 3 запроса выполняется: Query1, Query2.Select и Query2.Update).
Вопрос:
нельзя ли сделать как-нибудь покруче и побыстрее?


Johnmen   (2002-10-30 09:50:00) [1]

>Victor_Cr © (30.10.02 09:39)

В 19 лет высшее образование ? КРУТО !
А впрочем это видно по твоему постингу...


Victor_Cr   (2002-10-30 09:39:00) [2]

В твоем случае я бы воспользовался транзакциями. Поищи в хелпе нечто похожее на ApplyUpdates, там есть пример транзакции. У Query выставляешь свойства CashedUpdates := True; RequestLive := True;
Убираешь свой упдейт нафиг. После этого в обработчике события
BeforePost проставляешь требуемые значения полей, а в AfterPost у Query вписываешь процедуру транзакции (из хелпа). И делаешь с запросом что хочешь.
Да но запомни, что RequestLive := True; ты сможешь использовать только если в твоем запросе присутствует только одна таблица и нет в запросе order by и group by.


ЮЮ   (2002-10-29 13:16:00) [3]

Нарисовал бы, для начала, текст запроса и структуру таблиц, авось и без дельфи бы обошлось :-)


Советчик   (2002-10-29 13:00:00) [4]

незачто.
Всегда рад посоветовать


John13   (2002-10-29 12:58:00) [5]

Спасибо :-\, я всегда в вас верил


Советчик   (2002-10-29 12:54:00) [6]

куда исходник?
вот вышли Desdechado на мыло все исходники вместе с базой данных и на всякий случай вместе с дельфи.
Я думаю, он тебе поможет...


John13   (2002-10-29 12:52:00) [7]

Прислать исходник что-ли?


Советчик   (2002-10-29 12:52:00) [8]

да, Черномырдину до тебя далеко.


John13   (2002-10-29 12:49:00) [9]

3 таблички: Строки документов, справочник изделий, справочник прайсов. Выбраны строки относящиеся к одному документу и надо их расценить по соответсвующему прайсу для каждого изделия. Формируем Query1, содержащее ID - Цена, а из второго обращаемся к нему по ID с целью проставить новую цену. В одном Update такого не сделать.


Desdechado   (2002-10-29 12:46:00) [10]

а цель таких махинаций? что делать надо?


Советчик   (2002-10-29 12:46:00) [11]

нихрена не понятно


Наверх

Титульная страница Поиск, карта сайта Написать письмо