|
|
|
ADO и триггеры
|
|||
|---|---|---|---|
|
#18+
Ситуация следующая. Создаю соединение с БД на VFP 6.0, в ней есть триггеры на вставку. Так вот мне необходимо отключить их. Правда придумал один способ - это завести в отдельной таблице настроек поле и смотря какое там значение выходить сразу из тела триггера или же потом после некоторых действий. Только вот беда, когда я выставляю нужное значение с помощью ADO и делаю вставку в таблицу, то триггер все равно срабатывает (, хотя на самом фоксе все нормально работает. Может есть другие варианты отключения триггера??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 14:47 |
|
||
|
ADO и триггеры
|
|||
|---|---|---|---|
|
#18+
Придется самому себе ответить. А уж насколько мое решение правильно судить вам, критика приветствуется. Вечерком вчера пришел и накидал маленький примерчик. В общем, решение тоже самое - есть дополнительная таблица (tparam) с параметрами, в которой есть поле name со значением trigger и поле number со значением 0. Когда БД работает под Фоксом, то значение устанавливается в 1, и тогда триггер обрабатывает то, что нужно для Фокса. Если же сделать подключение с помощью ADO, то при выполнении хранимой процедуры, массив arrTemp в любом случае инициализируется нулями, не зависимо от выборки. Скорее это зависит от Provider’а, хотя точно не могу сказать, т.к. в этом не силен. Таким образом, нам остается проверить данный массив на ноль, и если проверка удалась сразу вернуть .T., в этом случае вся ответственность за корректность вводимых данных ложится на внешнюю программу. Вот и вся техника 8) Пример триггера на вставку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. P.S. Истинный мой ник - Protein. Просто забыл свой пароль ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 09:15 |
|
||
|
|

start [/forum/search_topic.php?author=nome&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
get settings: |
8ms |
get forum list: |
23ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 587ms |
| total: | 751ms |

| 0 / 0 |
