![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с запросом (LocalSQL,Paradox,TQuery & parameters) [D5, Paradox]
OneOfTheFew © (2003-04-04 11:46:00)Уважаемые Мастера!!!
Проблема следующая:
Две таблицы Header и Detail связаны отношением OneToMany через поля H_ID
В Datamodule есть компонент tbHeader (TTable)
Поля:
H_ID,
SumOfTransactions и т.д.
USER_ID // вычисляемое поле
и компонент quDetail (TQuery)
quDetail.DataSource:=dsHeader;
SQL примерно такой:
Select
(:USER_ID) as USER_ID,
D.Transact_ID,
D.HDate,
D.HCustomer_ID, и т.д.
From
Detail D
Where
D.H_ID=:H_ID
Такой quDetail.Active:=true работает.
Делаем следующие изменения:
Добавляем в tbHeader еще одно вычисляемое поле YetAnotherParameter,
а в тексте запроса компонента quDetail:
Select
(:USER_ID) as USER_ID,
(:YetAnotherParameter) as YetAnotherParameter,
D.Transact_ID,
D.HDate,
D.HCustomer_ID, и т.д.
From
Detail D
Where
D.H_ID=:H_ID
Теперь quDetail.Active:=true не работает. Говорит "Operation not applicable".
О чем идет речь?
Заранее благодарен за внимание и помощь!
Mike Kouzmine (2003-04-04 15:56:00) [1]А как парамс офрмлены?
>MsGuns © (04.04.03 13:19)
Странно. Может надо курнуть, чтобы понять, но если не можешь однозначно идентифицировать запись по полю(ям) в мастере, то..
Не соображу. Timeout.
OneOfTheFew (2003-04-04 15:32:00) [2]To MsGuns & Mike Kouzmine
Уважаемый MsGuns меня правильно понял.
Но в конце-то концов, знает кто что это за грабли???
Johnmen (2003-04-04 13:24:00) [3]>MsGuns © (04.04.03 13:19)
Не наш случай...
MsGuns (2003-04-04 13:19:00) [4]>Mike Kouzmine © (04.04.03 13:11)
Нет, не глупость. Но получениесвязующих филдов в курсоре детала и отображениеих - это две большие разницы.
Например, если в детальном НД нет собственных UID, т.е. она является производной от нескольких других таблиц ? Мне нужны эти поля, например, для простоты создания запросов обновления этого детала.
Johnmen (2003-04-04 13:17:00) [5]>Mike Kouzmine © (04.04.03 13:11)
>А серьмяжная правда этого?
Знаешь, мне она тоже недоступна...:)
Mike Kouzmine (2003-04-04 13:11:00) [6]Просто возник вопрос? А серьмяжная правда этого? Получать на выходе детеля поля с одинаковым значением? Я всегда придерживался правила - если поле в мастере одинаковое для всех деталей, то я его гашу, а тут наоборот. Если глупость сказал, прошу извинить.
Johnmen (2003-04-04 13:04:00) [7]Даже нужно !
Mike Kouzmine (2003-04-04 13:01:00) [8]Можно вклиниться?
Johnmen (2003-04-04 12:58:00) [9]Да, интересная проблема...
Если хочешь, могу привести свои соображения. Но сначала укажи, в какой последовательности получаются НД (Open).
OneOfTheFew (2003-04-04 12:49:00) [10]To Johnmen
Это проверял , буквально сегодня перечитывал в хелпе: не, не то.
Причем эти грабли исправно работают и вслучае если передаваемые параметры являются физ. полями в табле, а не калками, как здесь.
Johnmen (2003-04-04 12:35:00) [11]Возможно, повторяю, возможно, параметр YetAnotherParameter не имеет значения, т.е. Null.