Browse по нескольким таблицам и посылаемый Clarion'ом запрос

ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse по нескольким таблицам и посылаемый Clarion'ом запрос

Сообщение kreator »

С8.0.9759. Стандартные ABC шаблоны. В качестве сервера - Firbird 2.1, стандартный ODBC драйвер, что, думаю, не важно. Есть Browse, для простоты в нём две связанные таблицы, они большие, по 30 полей в каждой. Но мне надо всего 2 (два) поля из первой для показа, ну и в Hot Fields я загоняю ещё 3 поля из первой. Вторую таблицу я использую для SQL фильтра. Смотрю какую Clarion вьюху организовал, всё путём - мои поля и связь по foreign ключу. А теперь смотрю какой Clarion запрос посылает серверу и ужасаюсь - почти все поля из первой таблицы и все поля из второй. Вопрос. Это где-то регулируется или это внутренняя кухня Clarion, туда не залезешь? Зачем, вообще, мне это нужно? Лишние поля тянуть - это не правильно, но бог с ним. Самое главное, я хочу наложить distinct на запрос и, получается, что, чтобы он сработал, приходится ненужные мне поля вставлять в Hot Fields и обнулять их через prop:Name. Согласитесь - дурдом. И, ещё, подводный камень - при добавлении полей в эти таблицы новые поля могут вылезти в этом Browse (запросе) и distinct не сработает.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Browse по нескольким таблицам и посылаемый Clarion'ом за

Сообщение Yufil »

Скорее всего выполняется ThisWindow.Update() и обе записи подгружаются.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Re: Browse по нескольким таблицам и посылаемый Clarion'ом за

Сообщение kreator »

А при чём ThisWindow.Update()? Ведь не факт, что любой Browse тянет все столбцы таблицы. Честно говоря, я думал, что только те столбцы, которые есть в структуре View, участвуют в SQL запросе. Оказалось не так. И, получается на данный момент, что я не могу положиться на структуру View, а должен проверять, какой запрос посылается серверу.
We are hard at work… for you. :)
Ответить