|
|
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
Нашёл на форуме следующее: //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? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2005, 20:25 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
А зачем программно задавать Retrieval Arguments у DataWindow, если пользоваться этим методом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 05:07 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
dw.retrieve(p1, p2, p3,...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 14:07 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
Уважаемый Филипп! Хочу сделать dw.retrieve(p1, p2, p3) Возможно ли программно задать для DW Retrieval Arguments и затем сформировать условие WHERE с использованием переменных. И если да, то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:44 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
Делайте как говорит PaulJB, в условии where формируйте выражение с уже готовыми значенями, и вызывайте Retrieve() без параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:54 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 16:58 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
User01Возможно ли программно задать для DW Retrieval Arguments и затем сформировать условие WHERE с использованием переменных. И если да, то как? Можно. Для этого надо модифицировать синтаксис DW и создать DW заново через .Create() Модификация заключается в добавлении в секцию Table() атрибута arguments=(...) и изменении атрибута retrieve="..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 17:14 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
IkarТ.е. вместо того, чтобы в WHERE писать col1 = :P и вызывать Retrieve(10), просто написать в WHERE col1 = 10... Кстати, PaulJB об этом и писал... Не очень хороший совет. В случае, оракла, например, подобные запросы, в отличие от запросов с переменными, будут каждый раз парситься, что менее эффективно. Хотя, может сейчас и используется оптимизатор в оракле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 19:00 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
Funt IkarТ.е. вместо того, чтобы в WHERE писать col1 = :P и вызывать Retrieve(10), просто написать в WHERE col1 = 10... Кстати, PaulJB об этом и писал... Не очень хороший совет. В случае, оракла, например, подобные запросы, в отличие от запросов с переменными, будут каждый раз парситься, что менее эффективно. Хотя, может сейчас и используется оптимизатор в оракле. Эта проблема может быть решена вот так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 19:33 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
to PL99 Раз фраза Where собирается "на лету", то, наверняка, в следующем запросе она будет другая. Поэтому ожидать, что понадобится предыдущий SQL, никакого смысла, на мой взгяд, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 20:08 |
|
||
|
Как программно задать Retrieval Arguments у DataWindow?
|
|||
|---|---|---|---|
|
#18+
делается очень просто например нужно передать дату: ls_Where = "company_ru.company_code = contract_company.company_code" + & " AND CONTRACT_COMPANY.END_DATE >= to_date (~~'" + ls_date + "~~',~~'mm/dd/yyyy~~')" где ls_date уже переведеная в строку дата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 01:00 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33101809&tid=1338315]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 359ms |

| 0 / 0 |
