|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Всем привет! Пришлось мне надолго забыть ПБ и вот сегодня появилась одна интересная мысль и я его снова открыл. И столкнулся с одной проблемкой, я не знаю как заставить DW отрабатывать динамический меняющийся запрос. т.е. в датасоурс ДВ мы можем написать: Код: plaintext
а мне надо чтоб в ДВ датасоурс менялся на необходимые мне запросы, сейчас это Код: plaintext
Код: plaintext
другими словами я хочу делать свою подстановку в датасоурс ДВ, можно ли такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 12:48 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
См. доку по ф-и Transaction.SyntaxFromSQL(), Datawindow.Create() ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 13:09 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Есть еще SetSQLSelect:) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 13:46 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
всем пасиб SetSQLSelect - это то что надо! но теперь ПБ ругается так: Select error: Column list do not match ps/ использую дв в котором изначально 2 поля, а у меня вытаскиваются разное кол-во полей ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 15:04 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
А вот колонки в этом случае менять нельзя:) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 15:20 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
ну ладно, допустим я делаю так: 1) кидаю на форму объект datawindow (пустой, из контролов) 2) создаю datastore как привязать этот datastore к моему datawindow? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 15:37 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
GetFullState, SetFullState ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 15:43 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
не получается.... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 15:56 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
значит с datastore что-то не то ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 16:59 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
PaulJB, как привязать этот datastore к моему datawindow? - Все равно, что привязать стул к шкафу. Эти объекты не связаны между собой. Скорее всего не datastore, а DataObject. dw_1.DataObject = 'mmm' ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 17:19 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Та даже и не знаю ... Може товаристч хочет так: - в окне пустой DataWindow Control (dw) - в недрах кода рождается DataStore (ds) с нужными данными - ну а затем ds.GetFullState(); dw.SetFullstate() ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 17:27 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
PaulJBТа даже и не знаю ... Може товаристч хочет так: - в окне пустой DataWindow Control (dw) - в недрах кода рождается DataStore (ds) с нужными данными - ну а затем ds.GetFullState(); dw.SetFullstate() ага, вот теперь ясно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 17:51 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
получилось, только оно в неправильном виде я же хочу чтоб в табличном, а оно в строковом как такое закрутить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 17:56 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperous , Все указанные выше функции будут работать только если Select-ы будут совпадать структурно (т.е. столбцы дожны совпадать по типу, количеству, названию и порядку). А SetSQLSelect дополнительно нельзя использовать для модификации оператора SQL Select объекта DW, если у того указаны аргументы извлечения. Поэтому советую прислушатся к совету Anatoly Moskovsky, т.е. делать через динамическое создание DW. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 18:17 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
ImperousВсем привет! Пришлось мне надолго забыть ПБ и вот сегодня появилась одна интересная мысль и я его снова открыл. И столкнулся с одной проблемкой, я не знаю как заставить DW отрабатывать динамический меняющийся запрос. т.е. в датасоурс ДВ мы можем написать: Код: plaintext
а мне надо чтоб в ДВ датасоурс менялся на необходимые мне запросы, сейчас это Код: plaintext
Код: plaintext
другими словами я хочу делать свою подстановку в датасоурс ДВ, можно ли такое?Можно. А какова цель этого упражнения? Что именно надо сделать? Imperousполучилось, только оно в неправильном виде я же хочу чтоб в табличном, а оно в строковом как такое закрутить?"в табличном", вероятно Tabular, а "в строковом" это что такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 18:42 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
PL99ImperousВсем привет! Пришлось мне надолго забыть ПБ и вот сегодня появилась одна интересная мысль и я его снова открыл. И столкнулся с одной проблемкой, я не знаю как заставить DW отрабатывать динамический меняющийся запрос. т.е. в датасоурс ДВ мы можем написать: Код: plaintext
а мне надо чтоб в ДВ датасоурс менялся на необходимые мне запросы, сейчас это Код: plaintext
Код: plaintext
другими словами я хочу делать свою подстановку в датасоурс ДВ, можно ли такое?Можно. А какова цель этого упражнения? Что именно надо сделать? Imperousполучилось, только оно в неправильном виде я же хочу чтоб в табличном, а оно в строковом как такое закрутить?"в табличном", вероятно Tabular, а "в строковом" это что такое? хочу получить грид, а получается как одна колонка с текстбаксами, вот так: 1 маша2 петя3 катя4света примерно так где цифры это айдишки, а имена это поле с наименованием цель - сделать простенькую форму, слева в списке клацаю на имя таблицы базы, а справа чтоб появлялось ее содержимое и можно было тут же править данные, ну и организовать поиск ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 19:44 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
AIS Imperous , Все указанные выше функции будут работать только если Select-ы будут совпадать структурно (т.е. столбцы дожны совпадать по типу, количеству, названию и порядку). А SetSQLSelect дополнительно нельзя использовать для модификации оператора SQL Select объекта DW, если у того указаны аргументы извлечения. Поэтому советую прислушатся к совету Anatoly Moskovsky, т.е. делать через динамическое создание DW. да что-то если честно не вышло у меня делать дв динамически... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 19:46 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousцель - сделать простенькую форму, слева в списке клацаю на имя таблицы базы, а справа чтоб появлялось ее содержимое и можно было тут же править данные, ну и организовать поиск В SyntaxFromSQL есть возможность указать что надо создать грид. Как-то так . Подробности в доке. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 23:36 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousда что-то если честно не вышло у меня делать дв динамически... Легко же вы сдались ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2011, 23:37 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyImperousцель - сделать простенькую форму, слева в списке клацаю на имя таблицы базы, а справа чтоб появлялось ее содержимое и можно было тут же править данные, ну и организовать поиск В SyntaxFromSQL есть возможность указать что надо создать грид. Как-то так . Подробности в доке. хех, ну так совсем другое дело, пасиб :) ща проверим работает ли update при этом :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 08:58 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
работаит :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 09:26 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
а как сделать чтоб у меня не вся таблица тянулась, а подтягивалось только по необходимости определенное кол-во строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 09:53 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousща проверим работает ли update при этом :) DW получается updatable если у таблицы есть первичный ключ (и драйвер PB умеет узнавать об этом :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 13:42 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousа как сделать чтоб у меня не вся таблица тянулась, а подтягивалось только по необходимости определенное кол-во строк? Добавьте в WHERE фильтр :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 13:43 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyImperousа как сделать чтоб у меня не вся таблица тянулась, а подтягивалось только по необходимости определенное кол-во строк? Добавьте в WHERE фильтр :) ))) нее, хочу нормальный prefetch (или как его там называют) в определенное кол-во строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 14:33 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousнее, хочу нормальный prefetch (или как его там называют) в определенное кол-во строк. Есть такое свойство в DW при включении которого DW загружает только видимые на экране записи, и подгружает по мере скроллирования. Оно включается в паинтере в меню Select Rows>Retrieve>Rows As Needed Посмотрите чему это соответствует в синтаксисе (сам я не помню) и примените к вашему динамическому DW через modify() ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 15:47 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyImperousнее, хочу нормальный prefetch (или как его там называют) в определенное кол-во строк. Есть такое свойство в DW при включении которого DW загружает только видимые на экране записи, и подгружает по мере скроллирования. Оно включается в паинтере в меню Select Rows>Retrieve>Rows As Needed Посмотрите чему это соответствует в синтаксисе (сам я не помню) и примените к вашему динамическому DW через modify() нашел такое, но в данном случае оно не поможет... у меня ж сначала грузится все в DS, а потом уже в пустой DW переносится блоб из DS... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 16:21 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousнашел такое, но в данном случае оно не поможет... у меня ж сначала грузится все в DS, а потом уже в пустой DW переносится блоб из DS... Ну так вы определитесь: вам надо все грузить или ограничивать. Если ограничивать - то загружайте без промежуточных DS сразу в DW с опцией "as needed". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 16:27 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyImperousнашел такое, но в данном случае оно не поможет... у меня ж сначала грузится все в DS, а потом уже в пустой DW переносится блоб из DS... Ну так вы определитесь: вам надо все грузить или ограничивать. Если ограничивать - то загружайте без промежуточных DS сразу в DW с опцией "as needed". та я ж так и не разобрался как сразу в ДВ грузить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 16:30 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
вот как-то так попробовал сделать, но на форме я его не вижу... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 16:54 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousdw_new = CREATE datawindow Что за ересь? Это не работает. Добавьте DW на форму при разработке. И потом просто скрывайте и показывайте когда надо. Есть еще OpenUserObject - но вам это не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2011, 18:20 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyImperousdw_new = CREATE datawindow Что за ересь? Это не работает. Добавьте DW на форму при разработке. И потом просто скрывайте и показывайте когда надо. Есть еще OpenUserObject - но вам это не надо. сделал напрямую на контрол ДВ, без ДС. но до Select Rows>Retrieve>Rows As Needed добраться не могу... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2011, 10:40 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperous...сделал напрямую на контрол ДВ, без ДС. но до Select Rows>Retrieve>Rows As Needed добраться не могу... А вот что чишет Help (см. "Retrieve.AsNeeded DataWindow object property") Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2011, 11:49 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
AISImperous...сделал напрямую на контрол ДВ, без ДС. но до Select Rows>Retrieve>Rows As Needed добраться не могу... А вот что чишет Help (см. "Retrieve.AsNeeded DataWindow object property") Код: plaintext 1. 2. 3.
супер, спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2011, 13:31 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
вот где бы эту всю инфу свойств взять с примерами??? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2011, 14:30 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
Imperousвот где бы эту всю инфу свойств взять с примерами??? Вы не поверите, там же в Help (см. "Properties for the DataWindow object") Далее выбираете свойство, читаете о нем и смотрите примеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2011, 15:17 |
|
Свой меняющийся запрос для DW
|
|||
---|---|---|---|
#18+
AISImperousвот где бы эту всю инфу свойств взять с примерами??? Вы не поверите, там же в Help (см. "Properties for the DataWindow object") Далее выбираете свойство, читаете о нем и смотрите примеры. Или можно так: File -> New -> Tols -> DataWindow Syntax и там выбирать что нужно и смотреть что выдает... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2011, 15:27 |
|
|
start [/forum/topic.php?all=1&fid=15&tid=1335705]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 160ms |
0 / 0 |