:: Visual Foxpro, Foxpro for DOS
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
В exe не всегда работает. Помню, что пришлось явно писать 4 разных запроса, потому что через макрос не работало.
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Правильные запросы - правильно выполняются, независимо от того через макросы они написаны или без оных.


------------------
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Эту тему обсуждали несколько лет назад. ИК сказал, что макросы не всегда работают в exe-модуле,даже если макросы "правильные". Может, он "прояснит" этот момент, если заглянет сюда?
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
А где еще работает прога, кроме как не EXE-модуле?
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
В данном случае прога работает на app. Можно, конечно, и на автономный exe перебросить, но тогда могут "всплыть" всякие нюансы в ехе - что-то может перестать работать, и отлавливать такие места совсем неохота.
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Если прогу нельзя перебросить в автономный ЕХЕ, то что-то в проге не так. "Могут всплыть" решается "установить ЕХЕ операторам, они и протестируют невольно".
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Crispy
Автор

Сообщений: 18571
Дата регистрации: 16.05.2005
Simple777
Что-то припоминаю, что с макроподстановкой в SQL-запросах были какие-то заморочки. Вроде как в ехе FPD 2.6 они не канают.

Канают. \m/

У меня например хоть в app, хоть в ехе-шниках в FPD всегда без проблем все работало. И было бы странно, если бы не работало. По-крайней мере, я бы их после этого никогда больше не испльзовал и даже бы не смотрел в их сторону. Однако этого не было. [sm128]

Simple777
Эту тему обсуждали несколько лет назад. ИК сказал, что макросы не всегда работают в exe-модуле,даже если макросы "правильные". Может, он "прояснит" этот момент, если заглянет сюда?

Не говорил он такого, сколько помнится.
Была знаменитая тема о макросах, если ты о ней, но там совсем о другом речь шла, минимизировать само использование макросов. Хотя совсем без них иногда бывает все же хуже, чем с ними.
Поэтому, хоть они и не укладываются в гениальную концепцию идеального си-подобного и прочая и прочая программирования, тем не менее, иногда почему бы нет.
Как говорится, если шмель летает вопреки законам аэродинамики, в топку такие законы аэродинамики. ;)


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Sawradym
А если даже алиасы не помогут кардинально сократить запрос, то макроподстановка точно поможет.
Нет, не поможет. Там действуют те же ограничения на размер компилируемых команд.
Sawradym
Правильные запросы - правильно выполняются, независимо от того через макросы они написаны или без оных.
Для FPD это не так - он как-то хитро подключает рантайм-компоненты, и если собирается "компактный exe" или как там это называлось, то запросто может оказаться что то что работало во время запуска из IDE или под внешним рантаймом (не "компактные" exe), работать перестаёт. особенно этому способствуют макро, т.к. фокс на этапе сборки, очевидно, не может понять что именно будет исполняться потом в этом самом макро. Если я не ошибаюсь, эти проблемы решались включением в исходник недостижимого кода с нужными синтаксическими конструкциями (что именно за конструкции, и какой нужен код для их подключения - я понятия не имею). Ну т.е. нечто типа
IF .F.
SELECT 1 FROM dummy INTO CURSOR tmp
ENDIF


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Igor Korolyov
Sawradym
А если даже алиасы не помогут кардинально сократить запрос, то макроподстановка точно поможет.
Нет, не поможет. Там действуют те же ограничения на размер компилируемых команд.
Sawradym
Правильные запросы - правильно выполняются, независимо от того через макросы они написаны или без оных.
Для FPD это не так - он как-то хитро подключает рантайм-компоненты, и если собирается "компактный exe" или как там это называлось, то запросто может оказаться что то что работало во время запуска из IDE или под внешним рантаймом (не "компактные" exe), работать перестаёт. особенно этому способствуют макро, т.к. фокс на этапе сборки, очевидно, не может понять что именно будет исполняться потом в этом самом макро. Если я не ошибаюсь, эти проблемы решались включением в исходник недостижимого кода с нужными синтаксическими конструкциями (что именно за конструкции, и какой нужен код для их подключения - я понятия не имею). Ну т.е. нечто типа
IF .F.
SELECT 1 FROM dummy INTO CURSOR tmp
ENDIF

Эти проблемы решаются достаточно просто - надо просто через IF или CASE написать запросы без макросов. У меня была такая ситуация. Макросы не работали, и я написал 4 CASE, где были перечислены все возможные виды запросов, отличавшихся только дополнительными условиями. И это уже обсуждалось несколько лет назад, как я и упоминал выше.
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() куйня какая-то Симпле. Приведи пример, хоть...
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Я приводил примеры. Только вот сейчас где найти эту тему на форуме?

У меня был такой запрос, где в дополнительном условии (не связь между таблицами) были разные выражения-условия. Я в этом месте ставил макроподстановку. В IDE и APP все нормально отрабатывало, а в EXE выдавалось сообщение, что "возможность не поддерживается". Сообщение на английском, конечно. Поскольку у меня было 4 разновидности условий, я просто записал 4 разных запроса через CASE без макросов. Тогда стало работать и в EXE.

Какие примеры ещё нужны? Возьми и сам попробуй на примере какого-нибудь запроса на FPD 2.6. Только сомневаюсь, что ты помнишь, как формировать автономные EXE в FPD.

Насчёт компактных EXE я не проверял. Может быть, там и будут работать макроподстановки в SQL-запросах.



Исправлено 1 раз(а). Последнее : Simple777, 30.05.20 22:36
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> Какие примеры ещё нужны? Возьми и сам попробуй на примере какого-нибудь запроса на FPD 2.6

Даже не возьму
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Ну нет так нет.
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Не сомневался в твоей костности Скатина )

Доб. Вошел не в тот образ. Пардонь, Симпле. Остальные могут расслабиться, или по желаниям.



Исправлено 1 раз(а). Последнее : of63, 31.05.20 00:12
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Тебе даже идёт такой образ. Вышел на новый уровень. :xixi:
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Ничего особенного, ребята "должны" все переварить, лично.

Доб. Аа, тема твоя. Тогдаты тоже должен "варить")

() ты де... чтоли, до сих пор, до стольких лет ниче не понял в твоем, как его, СКуЛ-е... плять!

Там всё просто (если ты умеешь выделять дентали жизни, бизнес-процессы, в подпрограммы.

... Посмотрим, до чего допистятся переговорщики с Рекрутером ) С интересом слушаем

Куею. Бох дал людям подпрограммыы, а они думают куда их присунуть, на сторону сервера, или на сторону клиента ( транзакции - это мелкая деталь)
Остановитесь Подумайте )

Аа, забыл сказать, из подпрогрмрамм иожно возвращать, много чего.

Чего вам не хватает в языках "программирования"? )



Исправлено 5 раз(а). Последнее : of63, 31.05.20 00:37
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
не, правда, в эти "сервисы", или микросервисы, вы закладываетесь?... Не верю
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Насчёт локальных псевдонимов в SQL-запросах. Оказывается, применение таких псевдонимов никак не влияет на ограничения по длине компилируемой строки.

Надо было добавить пару полей в выходную таблицу. Стала выдаваться ошибка компиляции с сообщением о слишком длинной строке. Заменил везде названия таблиц на однобуквенные псевдонимы. Никакого результата это не дало.
Пришлось поменять местами запрос UNION и отдельный (третий) запрос. Поскольку третий запрос был покороче, то компиляция прошла без ошибок.

Отсюда следует вывод. Локальные псевдонимы удобны при написании самого текста запроса, но никак не влияют на размер компилируемого кода.

По крайней мере в FPD 2.6 это так. Вполне вероятно, что такой вывод будет справедлив и для VFP 9.



Исправлено 4 раз(а). Последнее : Simple777, 31.05.20 15:32
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
Simple777
Локальные псевдонимы удобны при написании самого текста запроса, но никак не влияют на размер компилируемого кода.
Как и любые переменные, имена рабочих областей...
Коды и имена переменных хранятся отдельно в виде справочника, а в командах используются их коды, длина которых постоянна и не зависит от длины имени переменной.



Исправлено 1 раз(а). Последнее : akvvohinc, 31.05.20 16:46
Ratings: 0 negative/0 positive
Re: SQL-запрос из нескольких таблиц FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Видимо, так и есть. Хотя не всё так однозначно. Вот, спрашивается, почему длина компилируемой строки вдруг серьёзно увеличилась только из-за того, что я добавил в выходную таблицу два поля? Ведь никаких новых условий в запрос не добавлялось. А в результате "Line too long..."



Исправлено 1 раз(а). Последнее : Simple777, 31.05.20 17:54
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 18 (Гостей: 18)

© 2000-2024 Fox Club 
Яндекс.Метрика