powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Запрос с параметрами для datawindow
60 сообщений из 60, показаны все 3 страниц
Запрос с параметрами для datawindow
    #35985778
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В хелпе нашла только то, что можно передать в retrieve параметры, если они определены у datawindow. Никак по-другому нельзя? У меня уже много форм с datawindow, а теперь посредством параметризованных запросов надо фильтры накладывать..
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35985785
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка пишет:

> В хелпе нашла только то, что можно передать в retrieve параметры, если
> они определены у datawindow. Никак по-другому нельзя?

Нет.

> форм с datawindow, а теперь посредством параметризованных запросов надо
> фильтры накладывать..

Нужно было думать раньше. Теперь - переделывать.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35985981
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛампочкаВ хелпе нашла только то, что можно передать в retrieve параметры, если они определены у datawindow. Никак по-другому нельзя? У меня уже много форм с datawindow, а теперь посредством параметризованных запросов надо фильтры накладывать..
самому формировать запрос и SetSQLSelect
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35985991
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я формирую, допустим, setsqlselect с параметрами, присваиваю его datawindow, а как дальше передать параметры?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986022
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу вписать в select
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986044
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я во всем этом новичок, но уже знаю, что это подвесит сервер - это раз, а кроме того, параметры есть стринговые - как обходить все заковырки вроде кавычки в строке или апострофа?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986120
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка пишет:

> я во всем этом новичок, но уже знаю, что это подвесит сервер - это раз,
> а кроме того, параметры есть стринговые - как обходить все заковырки
> вроде кавычки в строке или апострофа?

Поэтому я сразу сказал "нет". Не лезь в то, что ты не осилишь.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986138
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда я не совсем понимаю, что значит "нет" - что "нельзя" или что "не осилю"?:)
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986162
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например вместо ретрайва с параметром
Код: plaintext
dw_1.retrieve(sle_1.text)

пишите в скрипте у себя
Код: plaintext
1.
2.
3.
string ls_sql
ls_sql = 'select col_1, col_2 from table where col_3 = ' + sle_1.text
dw_1.SetSQLSelect(ls_sql)
dw_1.retrieve()
ну и конечно dw должна быть без параметров, или по ходу сделать ее без параметров
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986195
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот-вот-вот, вот тогда он на кавычке и вывалится)
ну не понимаю я, как же так - почему нельзя передавать параметры в DW по ходу дела, не определяя их заранее??
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986239
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoRнапример вместо ретрайва с параметром
Код: plaintext
dw_1.retrieve(sle_1.text)

пишите в скрипте у себя
Код: plaintext
1.
2.
3.
string ls_sql
ls_sql = 'select col_1, col_2 from table where col_3 = ' + sle_1.text
dw_1.SetSQLSelect(ls_sql)
dw_1.retrieve()
ну и конечно dw должна быть без параметров, или по ходу сделать ее без параметров
Лучше так
Код: plaintext
ls_sql = dw_1.GetSQLSelect() + 'where ' + sle_1.text
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986260
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понимаете вы меня..а те, которые поняли, говорят, что нельзя уже ничего сделать)
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986331
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочкавот-вот-вот, вот тогда он на кавычке и вывалится)
ну не понимаю я, как же так - почему нельзя передавать параметры в DW по ходу дела, не определяя их заранее??
не пойму... на какой кавычке?
перед ковычкой можно поставить ~

и, если параметры уже определены в dw, то
сделать dw.Describe("DataWindow.Syntax"), найти там arguments=, поудалять все, и подставить свой select
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986336
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VanoR найти там arguments=, поудалять все, и подставить свой select
или, если уж так хочется, новые аргументы вставить
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986337
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочкане понимаете вы меня..а те, которые поняли, говорят, что нельзя уже ничего сделать)
А-а так Вы про это? ;)
А может всё-таки разъясните про что? В смысле - что не выходит?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986345
altero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лампочка,

dw.Describe("DataWindow.Table.Select") - получить оригинальный синтаксис запроса
и добавлять или отсекать свои параметры через WHERE
далее по help-у.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986421
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ладно, пишу еще раз..может, это я вас не понимаю?:)
у меня dw построено на sql select и нет у него никаких параметров (я просто выбирала в powerbuildere столбцы таблицы).
а теперь необходимо наложить фильтр.
значения для фильтрации задаются пользователем, соответственно - нужно передать в dw запрос, в котором уже будут параметры.
я так поняла, что если нужны параметры - их надо при создании dw определять как retrieval arguments, но у меня уже куча dw, для которых я ничего не определяла.
вопрос в том, можно ли сейчас как-то без пересоздания dw передать им запросы с параметрами (то, что должны быть параметры - это, можно сказать, прописано в ТЗ)?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986438
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alteroЛампочка,
dw.Describe("DataWindow.Table.Select") - получить оригинальный синтаксис запроса
и добавлять или отсекать свои параметры через WHERE
далее по help-у.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986566
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочкане понимаете вы меня..а те, которые поняли, говорят, что нельзя уже ничего сделать)
Перед подстановкой текста литерала в SQL запрос, его надо экранировать - заменить символы имеющие специальное значение на эквивалентные, но безопасные комбинации символов.
В общем случае эта операция зависит от используемой СУБД.
Но если ограничиться кавычками ('), то в большинстве случаев достаточно заменить все кавычки на пары кавычек ('', это не двойная кавычка, а две одиночных)

Для этого у меня например есть специальная функция для квотирования литералов для передачи в Oracle SQL. Она строки берет в кавычки, экранирует внутренние кавычки, в числах заменяет "," на "." чтобы не зависело от региональных настроек, время и дату представляет в нужном формате.
Можете ее доработать для вашей СУБД.
Использовать ее просто:

ls_sql = "select ... where name = " + to_ora(" строка с 'кавычками' ")
на выходе получится
select ... where name = ' строка с ''кавычками'' '
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986664
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка
Попробуйте оставить всё как есть с DW, а введите фильтр до события dw_1.Retrieve(), например так:
Код: plaintext
dw_1.Object.DataWindow.Table.Filter = "column = 'abc'"
в этом случае в DataWindow после Retrieve() должны попасть только отфильтрованные строки, т.е. такой фильтр работает до попадания строк в DataWindow (в отличии от тандема функций SetFilter() и Filter(), которые фильтруют данные уже находящиеся в DataWindow).
Если для данного DataWindow надо изменить условие фильтра, то придется снова вызвать Retrieve().
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986675
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISЛампочка
Попробуйте оставить всё как есть с DW, а введите фильтр до события dw_1.Retrieve(), например так:
Код: plaintext
dw_1.Object.DataWindow.Table.Filter = "column = 'abc'"
в этом случае в DataWindow после Retrieve() должны попасть только отфильтрованные строки, т.е. такой фильтр работает до попадания строк в DataWindow (в отличии от тандема функций SetFilter() и Filter(), которые фильтруют данные уже находящиеся в DataWindow).
Если для данного DataWindow надо изменить условие фильтра, то придется снова вызвать Retrieve().
А это что за бред? ВЕСЬ Result Set попадёт в DataWindow, а то что не удовлетворяет условия фильтра переместится в Filter Buffer. Если преследуется цель ограничить Result Set, то ваше предложение - танцы с бубном ...
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986715
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп
А это что за бред? ...
Это цитата из Help:
Код: plaintext
1.
2.
The Table.Filter property filters the data before it is retrieved.
To filter data already in the DataWindow's buffers,
use the Filter property or the SetFilter and Filter methods.
Я не правильно перевёл?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986785
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевели может и правильно, но сами то пробовали?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986802
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппПеревели может и правильно, но сами то пробовали?
Когда-то пробывал, когда читал Help, но если честно, то в Filter Buffer не заглядывал. 8(
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986841
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп прав, весь резалтсет будет получен и только после этого отфильтрован.
Глупо получать 100 тысяч ради одной строки
Лампочкая во всем этом новичок, но уже знаю, что это подвесит сервер - это раз
Да уж тяжело когда не знаешь....
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986855
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очень тяжело, когда не знаешь:)
даже не представляете как)))
а еще очень забавно смотреть, как разные умные люди заявляют совершенно противоположные вещи)))
всем спасибо за помощь, думаю - разберусь!
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35986943
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочкаочень тяжело, когда не знаешь:)
даже не представляете как)))
Всем поначалу тяжело с PB - справитесь.

Лампочкаа еще очень забавно смотреть, как разные умные люди заявляют совершенно противоположные вещи)))
Ну, например утверждение, что электроны - и частицы и волны, тоже на первый взгляд выглядит забавно :)
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35987172
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛампочкаВ хелпе нашла только то, что можно передать в retrieve параметры, если они определены у datawindow. Никак по-другому нельзя? У меня уже много форм с datawindow, а теперь посредством параметризованных запросов надо фильтры накладывать..Попробуйте использовать такой подход .

Если это Вам не подходит, то можно в Вашем предке, от которого унаследованы DW в проекте (у Вас ведь есть общий предок для всех DW? ;), перехватывать событие SQLPreview, в котором просто можно модифицировать запрос примерно таким способом (если синтаксис поддерживается сервером):

Код: plaintext
1.
2.
3.
if sqltype = PreviewSelect!	then
this.modify("DataWindow.table.select='SELECT * FROM (" + SQLSyntax	+ ") WHERE " + <ВАШИ УСЛОВИЯ ФИЛЬТРАЦИИ> + " ' ")
end if
Разумеется, надо не забыть правильно экранировать кавычки, о чем сказал Анатолий Московский
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35988947
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99,

Ещё проще написать в datawindow SQLе
Код: plaintext
1.
2.
SELECT	...
  FROM	...
  WHERE  1 = 1 
а потом просто ANDать и всё :-)
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35989227
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппPL99,

Ещё проще написать в datawindow SQLе
Код: plaintext
1.
2.
SELECT	...
  FROM	...
  WHERE  1 = 1 
а потом просто ANDать и всё :-)
Мне кажется, что однозначно надо ORать...
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35989232
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyЛампочкаочень тяжело, когда не знаешь:)
даже не представляете как)))
Всем поначалу тяжело с PB - справитесь.
Лампочка , поверьте
РВ - это действительно самое легкое из того, что можно осилить до "глубоких интимных отношений" с БД.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35989298
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyВсем поначалу тяжело с PB
Если с эхотагом тяжело, то с чем же тогда будет легко ;)?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35989343
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000Anatoly MoskovskyВсем поначалу тяжело с PB
Если с эхотагом тяжело, то с чем же тогда будет легко ;)?
Многие новички пытаются программировать в PB как с 3GL. А на этом уровне PB предоставляет мало средств по сравнению с другими языками общего назначения, да и со скоростью проблемы.
Опыт достаточный для эффективного использования 4GL возможностей PB появляется далеко не сразу.
(См. какой разброс решений был в теме про уникальность в массиве, пока не пришел Филипп и не привел решение из двух элементарных операций)

Кроме того, как известно, люди незнакомые с системой, постоянно натыкаются на ее баги (а я думаю излишне рассказывать про баги в PB), пока подсознание не научится рефлекторно избегать скользких мест :)
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35992314
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky пишет:

> Многие новички пытаются программировать в PB как с 3GL.

А это применимо для любого языка и СУБД: не нужно программировать на
языке X, как будто это язык Y (например, не стоит писать на Delphi, как
на PB).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35992334
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в этом форуме был совет модифицировать datawindow.table.select.
Я попытала счастья, ничего не вышло, потом прочитала в хелпе про retrieval arguments, что они "Not settable in PowerScript" (это правда?:))
Получается, что все-таки остается "экранировать кавычки" и дописывать sqlselect для каждого случая, как у меня и было сделано.
Ну либо пересоздать datawindow, заранее определив параметры.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35992432
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка пишет:

> retrieval arguments, что они "Not settable in PowerScript"

Я об этом написал во втором сообщении топика ;).

> пересоздать datawindow, заранее определив параметры.

Именно так. Точнее, не "пересоздать", а просто добавить где надо параметры.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35992443
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000,
пожалуйста, объясни, что ты подразумеваешь под "добавить, где надо, параметры?"
Когда у меня datawindow содержит retrieval arguments и я пытаюсь добавить туда еще, PB уже предлагает сохранить окно как query..
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35992466
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка пишет:

> пожалуйста, объясни, что ты подразумеваешь под "добавить, где надо,
> параметры?"

Зайти в DW, открыть SQL-запрос, Design -> Retrieval arguments, добавить
аргументов по вкусу, закрыть форму, добавить аргументы в запрос,
сохранить DW.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35992641
_Лампочка/_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо:)
я неправильно одну штуку делала, поэтому никак и не доходило.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35993465
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппPL99,

Ещё проще написать в datawindow SQLе
Код: plaintext
1.
2.
SELECT	...
  FROM	...
  WHERE  1 = 1 
а потом просто ANDать и всё :-)К сожалению, так можно сделать только в простейших случаях. Даже тривиальный UNION уже требует применять специальные техники. Кроме того, сомневаюсь, что у топикстартера большинство DW содержат запрос в синтакс-моде. Перехватывание же события SQLpreview позволяет обойти большинство проблем, связанных с переделыванием имеющихся DW.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35994979
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99ФилиппPL99,

Ещё проще написать в datawindow SQLе
Код: plaintext
1.
2.
SELECT	...
  FROM	...
  WHERE  1 = 1 
а потом просто ANDать и всё :-)К сожалению, так можно сделать только в простейших случаях.
Чепуха...
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35996020
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппPL99К сожалению, так можно сделать только в простейших случаях.
Чепуха...Аргументированно, ничего не скажешь.

Куда прикажете подставить дополнительное условие в запрос вида
Код: plaintext
1.
2.
3.
select ...
from table
where  1 = 1 
order by field

А в чуть более сложный?
Код: plaintext
1.
2.
3.
select ...
from table1, table2
where table1.f1=table2.f1
order by field

Еще чуть-чуть экстрима:
Код: plaintext
1.
2.
3.
4.
select ...
from table1, table2
where table1.f1=table2.f1
and table2.f2 in (select table3.f2 from table3 where table3.f3 = value)
order by field

Разборщик написать? Несколько трудозатратное решение, isn't it?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35997515
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99,
Я не понял вы о чём кричите. Ищется строка where 1=1 и добавляется нужное AND (CLAUSE) ...
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35997628
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппPL99,
Я не понял вы о чём кричите. Ищется строка where 1=1 и добавляется нужное AND (CLAUSE) ...Спокойнее, Филипп, я не кричу.
Вот это
PL99Попробуйте использовать такой подход .не то же самое, что предлагаете Вы?

Речь, всего навсего, идет о том, чтобы перехватывать не подготовленный заранее запрос, оборачивая его в запрос верхнего уровня.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35997780
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппPL99,
Я не понял вы о чём кричите. Ищется строка where 1=1 и добавляется нужное AND (CLAUSE) ...
Код: plaintext
1.
select 'where 1=1'
where  1 = 1 
?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35998171
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, ладно вам, девушке ведь все-равно:)
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35998382
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не то чтобы всё равно, но столько новых вопросов и задач..:)
а в datawindow я решила добавить retrieval arguments.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999286
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и все-таки я не успокоилась:)
и ответ найти не могу.
значит, либо я пишу запрос в setsqlselect, формируя его добавлением "and <условие>",
либо я меняю describe и пересоздаю datawindow с новыми аргументами, что, по-моему, совсем плохо делать для каждого фильтра.
либо я завожу у datawindow retrieval arguments, но вот тут у меня вопрос:
условия фильтра будут вида <либо поле = параметру, либо параметр не передан>, где второе "либо" должно выдавать все значения. Когда я пишу в WHERE:
column1 = :param1 or isNull(:param1), второе условие отказывается сохраняться, оно просто исчезает.
Как быть?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999328
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛампочкаКогда я пишу в WHERE:
column1 = :param1 or isNull(:param1), второе условие отказывается сохраняться, оно просто исчезает.
Как быть?
В SQL нету IsNull(:param1), там есть :param1 IS NULL
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999427
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у Вас это работает?
я пробовала оба варианта - при выходе из where условие на NULL не сохраняется.
Опять что-то не так делаю?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999483
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочкаа у Вас это работает?
я пробовала оба варианта - при выходе из where условие на NULL не сохраняется.
Опять что-то не так делаю?
А, вы наверно в дизайнере запроса строите условие.
Я сам всегда прямо на SQL писал, поэтому не могу подсказать в чем проблема.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999522
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или :param1 is null или IsNull(param1,0)
В Oracle :param1 is null или nvl(param1,0)
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999642
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,
то есть вы непосредственно с retrieval arguments не работаете?
просто архитектор БД очень против непараметризованных запросов, потому что или запрос один раз распарсится, или он каждый раз будет это делать.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999772
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛампочкаAnatoly Moskovsky,
то есть вы непосредственно с retrieval arguments не работаете?
просто архитектор БД очень против непараметризованных запросов, потому что или запрос один раз распарсится, или он каждый раз будет это делать.
Почему же, работаю с retrieval arguments.
Но не в дизайнере фильтра, а прямо в тексте запроса. Для этого вызываю меню Convert to syntax.
И далее целиком текст запроса пишу :)
Код: plaintext
select ... where id = :ai_id
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #35999867
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо, я так и не научусь правильно вопрос ставить:)
Как Вы пишете условие, что <столбец = значение либо значение is Null(вывести весь столбец)>?
При Вашем способе так срабатывает?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #36000050
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОГРОМНЕЙШЕЕ СПАСИБО!!!
все получается:)
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #36000978
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня новый вопрос:)
Предположим, у пользователя есть интерфейс для редактирования таблицы. Он удалил пару строк, отредактировал одну, добавил одну, но все это в DW, а в саму таблицу еще не сохранял.
И тут он решил поискать записи - по одним условиям, по другим..
Запрос фильтра каждый раз обращается к таблице, значит, при первой же установке фильтра слетят все его изменения.
Предлагать ему сохранять изменения перед фильтрацией или работать с временной таблицей? Или еще как-то?
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #36001214
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка,

Есть локальные фильтры (на уровне DW), есть на уровне запроса. Во втором случае - да, придется запрашивать сохранение изменений. В первом, можно этого не делать.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #36001287
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я столько нервов потратила на retrieval arguments, а теперь просто придется пользовать setfilter!
:) ну ничего, зато больше сведений.
...
Рейтинг: 0 / 0
Запрос с параметрами для datawindow
    #36002164
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛампочкаУ меня новый вопрос:)
Предположим, у пользователя есть интерфейс для редактирования таблицы. Он удалил пару строк, отредактировал одну, добавил одну, но все это в DW, а в саму таблицу еще не сохранял.
И тут он решил поискать записи - по одним условиям, по другим..
Запрос фильтра каждый раз обращается к таблице, значит, при первой же установке фильтра слетят все его изменения.
Предлагать ему сохранять изменения перед фильтрацией или работать с временной таблицей? Или еще как-то?Правильный подход - предлагать на выбор сохранить изменения или отказаться от внесенных изменений.
Hint:Посмотрите, как устроено в PFC
...
Рейтинг: 0 / 0
60 сообщений из 60, показаны все 3 страниц
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Запрос с параметрами для datawindow
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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