С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
сержвск
0 / 0 / 0
Регистрация: 03.08.2007
Сообщений: 61
1

Как передать сообщение о ошибке из "сохраненки"

02.01.2008, 20:20. Просмотров 699. Ответов 8
Метки нет (Все метки)

Ситуация: через объект adodb.Command вызывается 'сохраненка' с входными и выходными параметрами(при этом RowSet не возвращается). В теле процедуры(я знаю) возникает ошибка(нарушение ссылочной целостности). Ес-но я делаю откат транзакции, и в ситуации ON ERROR присваиваю выходному параметру значение 'описание ошибки'.
Так вот - при возникновении ошибки в теле процедуры ВСЕ выходные параметры становятся NULL.
Что делать, как передать текст ошибки через параметры - не знаю :-(.
P.S. Всё это в связке VB6(SP5)+MS SQL2000(SE).

СПАСИБО ЗА ВНИМАНИЕ
С УВАЖЕНИЕМ КО ВСЕМ
СЕРГЕЙ
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2008, 20:20
Ответы с готовыми решениями:

Как в запросе различать "a" от "A"?
В моделе для различения регистра букв пишется Option Compare Binary. А как тоже...

Выборка данных с DB2 - сообщение "Numeric data that is not valid"
Всем привет. Есть таблица с данными скрин прикреплён. И есть запрос: Sub...

SQL Srv2000. проблема с Rs("NTEXT")="text"
Код VB Rs.open ('select ID,Node,Descr')... 'ID int 'Node char(10)...

Местонахождение данных с префиксом "res." и "dur."
Есть запрос в базу данных, player_name понятно, я его в masterlom вижу, а вот...

Как правильно реализовать отношение "один ко многим". Пример - в первом посте
такой пример. имеются две таблицы: в одной - сотрудники, в другой - объекты. ...

8
phwp
0 / 0 / 0
Регистрация: 15.03.2007
Сообщений: 40
02.01.2008, 21:47 2
Зачем тебе передавать текст ошибки в параметре?
Посмотри Err.Description
0
сержвск
0 / 0 / 0
Регистрация: 03.08.2007
Сообщений: 61
03.01.2008, 09:17  [ТС] 3
В том то и дело, что On Error в VB не срабатывает :-(.
0
AndreP
0 / 0 / 1
Регистрация: 22.07.2007
Сообщений: 260
03.01.2008, 12:04 4
Вызовите внутри процедуры оператор Raiserror с описанием ошибки, тогда on error в бейсике сработает, а коллекция Connection.Errors будет содержать номера и описание ошибок.
0
phwp
0 / 0 / 0
Регистрация: 15.03.2007
Сообщений: 40
04.01.2008, 02:18 5
из ADO connection можно вытащить объект error, который содержит описание ошибки (как native, так с созданной с помощью raiserror)
0
сержвск
0 / 0 / 0
Регистрация: 03.08.2007
Сообщений: 61
04.01.2008, 10:22  [ТС] 6
БОЛЬШОЕ СПАСИБО за советы.
Чуть по-позже проверю на рабочей программе.
Однако, почему я не могу передать ничего (кроме NULL) в выходных параметрах, если внутри сохраненки срабатывает (а я её ловлю) ситуация ON ERROR ?
0
сержвск
0 / 0 / 0
Регистрация: 03.08.2007
Сообщений: 61
04.01.2008, 12:02  [ТС] 7
Проверил - не сработало.
Я работаю через объект Command, а у него нет коллекции Errors. А у cmdTMP.ТекущееСоединения.Errors.Count = 0, хотя выходной параметр = Null - а это значит, что при выполнении возникла ошибка.
0
KMV
0 / 0 / 0
Регистрация: 15.11.2007
Сообщений: 45
17.01.2008, 09:40 8
попрбуйте вернуть что-либо не через выходной параметр а через ReturnValue. т.е. после ошибки в ХП сделайте return 1
0
сержвск
0 / 0 / 0
Регистрация: 03.08.2007
Сообщений: 61
18.01.2008, 09:05  [ТС] 9
NULL в выходном параметре - то же самое для моего клиента , что и Return Value. Никакой информации об ошибке в нем нет. В то же время, в Query Analizer красным цветом печатается вся информация по ошибке.
Меня удивило не только это, но и то, что даже если я в обработчике ошибки в теле процедуры присваиваю выходному параметру значение 'ОШИБКА' - процедура всё равно возвращает в клиент NULL. Может там внутри везде наставить GO?
0
18.01.2008, 09:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2008, 09:05

Как использовать поле "Атрибуты" в phpmyadmin?
Здравствуйте, форумчане. Хочу обратиться к опытным пользователям в сфере SQL. В...

Как сделать "умный" отчет?
Access97 + Чайник... Есть таблица с полями 'Район', 'ФИО' и 'дата'. Районов...

Как правильно сформировать БД "АвтоМастерская"?
Помогите пожалуйста правильно создать и сформировать БД. База "АвтоМастерская"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru