|
|
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
Приветствую всех! Есть такой вопрос, есть куча таблиц, для которых один стиль grid, как динамически построить datawindow если у меня есть SQL запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 07:55 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
смотрите в Help'e: transaction.SyntaxFromSQL ( sqlselect, presentation, err ) integer dwcontrol.Create ( string syntax {, string errorbuffer } ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 08:34 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
авторtransaction.SyntaxFromSQL ( sqlselect, presentation, err ) как динамически получить описание синтаксиса datawindow из SQL выражения с retrieve аргументами? кто-нибудь нашел решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 11:03 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 11:40 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
авторкак динамически получить описание синтаксиса datawindow из SQL выражения с retrieve аргументами? кто-нибудь нашел решение? А зачем Вам, собственно говоря, retrieve аргументы? Формируя SQL-запрос, подставляете в него необходимые аргументы, динамически формируете dataWindow, с помощью modify(...) донастраиваете DW, как Вам нужно и выбираете данные, с помощью retrieve(), совершенно безо всяких retrieve аргументов. PS. Или я Вас как-то не правильно понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 12:42 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
Guest_2А зачем Вам, собственно говоря, retrieve аргументы? Формируя SQL-запрос, подставляете в него необходимые аргументы, динамически формируете dataWindow, с помощью modify(...) донастраиваете DW, как Вам нужно и выбираете данные, с помощью retrieve(), совершенно безо всяких retrieve аргументов. Это плохая практика. При интенсивной работе с разными подставляемыми значениями кэш скомпилированных запросов СУБД будет забиваться запросами, которые скорее всего никогда не будут повторно использоваться. А аргументы в DW - это честные bind-переменные (если не включен DisableBind) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 17:21 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Guest_2А зачем Вам, собственно говоря, retrieve аргументы? Формируя SQL-запрос, подставляете в него необходимые аргументы, динамически формируете dataWindow, с помощью modify(...) донастраиваете DW, как Вам нужно и выбираете данные, с помощью retrieve(), совершенно безо всяких retrieve аргументов. Это плохая практика. При интенсивной работе с разными подставляемыми значениями кэш скомпилированных запросов СУБД будет забиваться запросами, которые скорее всего никогда не будут повторно использоваться. А аргументы в DW - это честные bind-переменные (если не включен DisableBind) Ерунда это. Именно как Guest_2А написал и надо делать. Если динамически формируете SQL-запрос и из него динамически же делаете datawindow, то зачем с аргументами возиться. WHERE clause подправил и вперёд... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 19:32 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
Филипп, при всем уважении, ты не прав. Anatoly Moskovsky совершенно корректно указал на негативный аспект. Если не лень - можно аргументированно возразить... А так бросил свысока "Ерунда все это." и гордо удалился. То ли сам не врубился, то ли знает что-то такое чего мы не знаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 20:33 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейФилипп, при всем уважении, ты не прав. Anatoly Moskovsky совершенно корректно указал на негативный аспект. Если не лень - можно аргументированно возразить... А так бросил свысока "Ерунда все это." и гордо удалился. То ли сам не врубился, то ли знает что-то такое чего мы не знаем. Просто нельзя одной жопой на 2х стульях сидеть: - Хошь динамически создать datawindow с помощью SyntaxFromSQL - правь WHERE clause и забудь про retrieve аргументов. - Хошь retrieve аргументов - забудь про SyntaxFromSQL. А насчет ерунды, так это я насчёт вот этого безапелляционного утверждения- авторЭто плохая практика будет кэш СУБД забиваться запросами, которые скорее всего никогда не будут повторно использоваться , ну и дальше что. У нас ВСЕ поисковые окна в продукте сделаны с правкой WHERE clause, вариаций уйма, и ничего с несчастным кэш не стало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2004, 20:56 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
Уже давно все оптимизаторы современных СУБД при компиляции запросов смотрят на использованные в нем константы и не принимают запрос за другой. В той же ASA динамический SQL летает на ура и естественно биндами в WatcomSQL и не пахнет. Единственное, где пока прихрамывает динамический SQL и бинды ускоряют процесс насколько мне известно - MSSQL и то, возможно в Юконе это дело поправят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 01:20 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, я использовал совет Guest_2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 02:28 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
guest_2А зачем Вам, собственно говоря, retrieve аргументы? Как правильно сказали Anatoly Moskovsky и ЗоринАндрей, хотелось бы избавиться от возможных негативных последствий от неиспользования bind переменных в динамических запросах... на сегодняшний момент динамические запросы формируются путем простого изменения WHERE clause... и до сего момента считал, что отсутствие bind переменных является существенным недостатком, от которого, со временем, хотелось бы избавиться... время пришло :), поэтому я и вернулся к этой теме... Но, после высказываний ASCRUS о возможностях современных баз данных обходить литералы в запросе и заменять их bind переменными в момент разбора и после дополнительного изучения статей по возможностям Oracle 9i пришел к выводу, что пока стоит отложить этот вопрос до лучших времен... не такой уж это недостаток... тем более у меня система больше похожа на DSS, а не OLTP... Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 11:27 |
|
||
|
динамически создать datawindow
|
|||
|---|---|---|---|
|
#18+
ASCRUSЕдинственное, где пока прихрамывает динамический SQL и бинды ускоряют процесс насколько мне известно - MSSQL и то, возможно в Юконе это дело поправят. Кстати, все это, как говорится, палка о двух концах. Дело в том, что при генерации плана запроса с параметрами оптимизатор принимает некое их "усредненное" значение. Поэтому имея Код: plaintext dGrichineтем более у меня система больше похожа на DSS, а не OLTP ...которые характеризуются значительно большими объемами данных, по сравнению с OLTP, соответственно, если мы промахнемся с планом запроса, то можем ооооочень долго ждать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2004, 15:21 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32776370&tid=1338728]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 502ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...