|
|
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
Пишу демку на делфи + Zeos,одна из задач - если запрос селективный - вывести данные в грид,если нет - выполнить и вывести подтверждение. проблема в том,что если я пытаюсь сделать query.open на запросе insert/update/delete получаю "Can not open a Resultset". Как можно проверить запрос перед выполнением, чтобы вызывать нужный метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:11 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
Gallemar, Посмотреть на то, с чего текст запроса начинается. СУБД какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:22 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
Gallemarпроблема в том,что если я пытаюсь сделать query.open на запросе insert/update/delete получаю "Can not open a Resultset". Кто мешает "выполнить и вывести подтверждение"? GallemarКак можно проверить запрос перед выполнением, чтобы вызывать нужный метод? Зависит от. В некоторых DAC-ах были соответствующие фичи. Или можно просто проверить, что первая лексема либо SELECT, либо WITH. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:26 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
DarkMasterGallemar, Посмотреть на то, с чего текст запроса начинается. СУБД какая? Firebird ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:28 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
Gallemar, Можно примерно так сделать: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:28 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
softwarerGallemarпроблема в том,что если я пытаюсь сделать query.open на запросе insert/update/delete получаю "Can not open a Resultset". Кто мешает "выполнить и вывести подтверждение"? А как? Zeos не дает использовать open с неселективными запросами. softwarerGallemarКак можно проверить запрос перед выполнением, чтобы вызывать нужный метод? Зависит от. В некоторых DAC-ах были соответствующие фичи. В Zeos такое не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:30 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
GallemarDarkMasterПосмотреть на то, с чего текст запроса начинается. СУБД какая? Firebird Угу, тогда еще учитывай что DataSet может из EXECUTE BLOCK приехать, не только из SELECT... А может и не приехать - для EXECUTE BLOCK нужно еще проверять наличие SUSPEND внутри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:31 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
GallemarА как? Zeos не дает использовать open с неселективными запросами. Что значит "не даёт"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:31 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
softwarerGallemarА как? Zeos не дает использовать open с неселективными запросами. Что значит "не даёт"? Там кажется разбивка по методам : Open() и Exec() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:34 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
softwarerGallemarА как? Zeos не дает использовать open с неселективными запросами. Что значит "не даёт"? я же выше писал - если используешь запрос insert/update/delete c open получаешь "Can not open a Resultset" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:35 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
Gallemarя же выше писал - если используешь запрос insert/update/delete c open получаешь "Can not open a Resultset" А я выше спросил: кто мешает, получив это, соответствующим образом отреагировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:38 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
Gallemarя же выше писал - если используешь запрос insert/update/delete c open получаешьА какой ты датасет хочешь получить в ответ? Юзай Exec как учат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:45 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
softwarerGallemarя же выше писал - если используешь запрос insert/update/delete c open получаешь "Can not open a Resultset" А я выше спросил: кто мешает, получив это, соответствующим образом отреагировать? Не видел. Т.е. попытаться выполнить Open, поймать e.message и выполнить exec()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:49 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
GallemarНе видел. Т.е. попытаться выполнить Open, поймать e.message и выполнить exec()? Например. Не буду утверждать, что этот метод безусловно лучший, но по сравнению с другими методами он обладает двумя важными достоинствами: короткий и надёжный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 14:54 |
|
||
|
Zeos свойства запроса
|
|||
|---|---|---|---|
|
#18+
А что мешало открыть исходники и найти такой код Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ? А после этого подумать и написать так Код: pascal 1. 2. 3. 4. P.S. Флаг doSmartOpen можно выставить в дизайнтайме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2018, 15:01 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39709313&tid=2040352]: |
0ms |
get settings: |
5ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 490ms |

| 0 / 0 |
