Вниз
Скачать: CL | DM;

Мощная заморочка для знатоков SQL! Помогите плз   Найти похожие ветки 

← →
John13   (2002-10-29 12:40) [0]

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


← →
Desdechado ©   (2002-10-29 12:46) [1]

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


← →
Советчик   (2002-10-29 12:46) [2]

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


← →
John13   (2002-10-29 12:49) [3]

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


← →
John13   (2002-10-29 12:52) [4]

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


← →
Советчик   (2002-10-29 12:52) [5]

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


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

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


← →
John13   (2002-10-29 12:58) [7]

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


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

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


← →
ЮЮ ©   (2002-10-29 13:16) [9]

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


← →
Victor_Cr ©   (2002-10-30 09:39) [10]

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


← →
Johnmen ©   (2002-10-30 09:50) [11]

>Victor_Cr © (30.10.02 09:39)

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
4-59512
АндрейС
2002-10-04 13:47
2002.11.18
Как поместить иконку приложения в IconTray


1-59127
AFrolov
2002-11-06 11:36
2002.11.18
Как лучше организовать показ состояния процесса


1-59247
AlexT1000
2002-11-06 20:02
2002.11.18
как вставить MainMenu в CoolBar или любой другой компонент ?


14-59358
Стивенс
2002-10-27 20:06
2002.11.18
Ищу компанент, помогите плиз


1-59214
Pesh
2002-11-06 14:10
2002.11.18
Формат MP3 файлов




   Наверх