|
Про подмену SelectCMD в курсорадептере
|
|||
---|---|---|---|
#18+
После подмены селекткмд в курсорадаптере почему-то не срабатывает метод курсоррефреш. Делаю так: Разбираю старый селекткмд, вырезаю предложение WHERE и формирую его заново в зависимости от состояния контролов на форме. Потом вызываю метод рефрешкурсор — реакции никакой. Пришлось сделать так: Код: 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. 26.
Пример в приложенном файле, что я делаю неправильно, подскажите. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 08:33 |
|
Про подмену SelectCMD в курсорадептере
|
|||
---|---|---|---|
#18+
ШестипаловПример в приложенном файле, что я делаю неправильно, подскажите. Вы изменяете саму строку селекткмд - этого делать нельзя!!!! длина (структура) селекткмд меняться не должна! вопрос: курсорадаптер для родных таблиц или ? для родных - решается применением макроподстановки - для ms sql - оборачиванием "плясок" в хранимую процедуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 09:01 |
|
Про подмену SelectCMD в курсорадептере
|
|||
---|---|---|---|
#18+
прошелмимо, авторВы изменяете саму строку селекткмд - этого делать нельзя!!!! Ну, в общем, я это подозревал :-) авторкурсорадаптер для родных таблиц или ? Да, для родных. автордля родных - решается применением макроподстановки Не могли бы вы показать, как это можно решить в моём случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 09:53 |
|
Про подмену SelectCMD в курсорадептере
|
|||
---|---|---|---|
#18+
toCAD.cWhere = '&?pcWhere' Кад имеет ассайн метод и клеит строку: text to this.SelectCmd noshow textmerge pretext 15 select * from <<this.Tables>> <<iif(!empty(this.cWhere),'where '+this.cWhere,'')>> endtext select * from ,,,, where &?pcWhere получается селекткмд всегда одной длины и структуры далее в кнопке "отбор по условию" клеим условие private pcWhere pcWhere = iif(!empty(lnId), 'id = '+ltrim(str(lnId)), 'id>0') + ; icase(lnTypeRecords=2,' and !del', lnTypeRecords=3,' and del', '') (меняем строку после where в запросе) при if thisform.oCad.CursorRefresh() происходит чудо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 10:19 |
|
|
start [/forum/topic.php?fid=41&fpage=92&tid=1585074]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
7ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 335ms |
total: | 473ms |
0 / 0 |