powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как программно задать Retrieval Arguments у DataWindow?
12 сообщений из 12, страница 1 из 1
Как программно задать Retrieval Arguments у DataWindow?
    #33101629
User01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл на форуме следующее:
//PaulJB:
//1. В среде разработки DW строится без условий WHERE
//2. Перед retrieve получаем исходный запрос с помощью:
//var = dw.GetSQLSelect()
//3. К полученому результату приклеиваем условие WHERE , которое формируем в зависимости от требований:
//var += ' WHERE ...'
//4. Ну и затем устанавливаем полученный запрос для нашего DW:
//dw.SetSQLSelect(var)
//5. А дальше:
//dw.settransobject( ... ) // не помню - обязательно или нет
//dw.retrieve()

Пытаюсь реализовать, но возник вопрос:
Как программно задать Retrieval Arguments у DataWindow?
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33101809
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем программно задавать Retrieval Arguments у DataWindow, если пользоваться этим методом?
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33102611
_Guest_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dw.retrieve(p1, p2, p3,...)
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103084
User01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Филипп!
Хочу сделать dw.retrieve(p1, p2, p3)
Возможно ли программно задать для DW Retrieval Arguments
и затем сформировать условие WHERE с использованием переменных.
И если да, то как?
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103127
PVG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PVG
Гость
Делайте как говорит PaulJB, в условии where формируйте выражение с уже готовыми значенями, и вызывайте Retrieve() без параметров.
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103140
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
User01Уважаемый Филипп!
Хочу сделать dw.retrieve(p1, p2, p3)
Возможно ли программно задать для DW Retrieval Arguments
и затем сформировать условие WHERE с использованием переменных.
И если да, то как?Филип имел ввиду, что если Вы _кодом_ модифицируете условие WHERE у DataWindow, то Вам проще прямо там и прописать сами условия выборки, и, в таком случае, испоьзование Retrieval Arguments не требуется.
Т.е. вместо того, чтобы в WHERE писать col1 = :P и вызывать Retrieve(10), просто написать в WHERE col1 = 10...
Кстати, PaulJB об этом и писал...

Если же в Вашем случае (на Ваш взгляд) при изменении условия WHERE без Retrieval Arguments не обойтись, то опишите, пожалуста, почему так и какой в этом кроется замысел...
---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103192
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
User01Возможно ли программно задать для DW Retrieval Arguments
и затем сформировать условие WHERE с использованием переменных.
И если да, то как?

Можно.
Для этого надо модифицировать синтаксис DW и создать DW заново через .Create()
Модификация заключается в добавлении в секцию Table() атрибута arguments=(...) и изменении атрибута retrieve="..."
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103484
Funt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IkarТ.е. вместо того, чтобы в WHERE писать col1 = :P и вызывать Retrieve(10), просто написать в WHERE col1 = 10...
Кстати, PaulJB об этом и писал...
Не очень хороший совет. В случае, оракла, например, подобные запросы, в отличие от запросов с переменными, будут каждый раз парситься, что менее эффективно. Хотя, может сейчас и используется оптимизатор в оракле.
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103523
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Funt IkarТ.е. вместо того, чтобы в WHERE писать col1 = :P и вызывать Retrieve(10), просто написать в WHERE col1 = 10...
Кстати, PaulJB об этом и писал...
Не очень хороший совет. В случае, оракла, например, подобные запросы, в отличие от запросов с переменными, будут каждый раз парситься, что менее эффективно. Хотя, может сейчас и используется оптимизатор в оракле.
Эта проблема может быть решена вот так
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103551
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
to PL99
Раз фраза Where собирается "на лету", то, наверняка, в следующем запросе она будет другая. Поэтому ожидать, что понадобится предыдущий SQL, никакого смысла, на мой взгяд, нет.
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103720
pbdeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
делается очень просто например нужно передать дату:
ls_Where = "company_ru.company_code = contract_company.company_code" + &
" AND CONTRACT_COMPANY.END_DATE >= to_date (~~'" + ls_date + "~~',~~'mm/dd/yyyy~~')"

где ls_date уже переведеная в строку дата
...
Рейтинг: 0 / 0
Как программно задать Retrieval Arguments у DataWindow?
    #33103740
User01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо.
Понял.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как программно задать Retrieval Arguments у DataWindow?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]