|
|
|
Не получается корректная проверка SQL-запроса через DOA на C++Builder5
|
|||
|---|---|---|---|
|
#18+
Пишу построитель, работа с СУБД Oracle. Проверку делаю такой функцией: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Как видно, сначала я сделал через функцию Describe(), которая, судя по документации, получает описание полей запроса без его реального выполнения. То есть, если запрос неправильный, то она вернет ошибку, а значит, ей можно проверить корректность запроса. Но дело в том, что выполняя эту функцию для SQL-предложения типа INSERT INTO ... при любых ошибках (лишние запятые и т.п.) describe() все равно возвращает true. Как будто она работает только для SELECT. Но это же не дело... Тогда я сделал через Execute(), а затем Rollback сессии. В этом случае все отрабатывает как надо, но проблема в возможном наличии bind-переменных в запросе. Если при выполнении я предлагаю их ввести, если не были введены ранее, то при проверке не буду же я снова пихать этот кусок кода? При проверке запроса пользователь не должен думать о bind-переменных, которые у него есть или нет. Запрос должен провериться на синтаксис PL/SQL и все. Других функций в DOA я не нашел. Вопрос: что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2004, 07:48 |
|
||
|
Не получается корректная проверка SQL-запроса через DOA на C++Builder5
|
|||
|---|---|---|---|
|
#18+
А как же esceptions ?? хотите сказать если запрос не правильный они что не возникают всмусле есепшены ? ____ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2004, 12:56 |
|
||
|
Не получается корректная проверка SQL-запроса через DOA на C++Builder5
|
|||
|---|---|---|---|
|
#18+
Если запрос вида INSERT INTO... или DELETE, то exceptions не возникают. Проверь сам. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 10:11 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32401520&tid=2035439]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 324ms |

| 0 / 0 |
