Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

Исключения хранимой процедуры   Найти похожие ветки 

 
~   (2003-02-26 11:44) [0]

ADOStoredProc используется. Если первая выборка хранимой процедуры приводит к исключению, Connection.Errors.Count не равно нулю, если исключение появляется на второй выборке-клиентское приложение не видит ошибок. Что не так?


 
Smashich ©   (2003-02-26 11:49) [1]

дело в шляпе


 
~   (2003-02-26 12:02) [2]

>Smashich © (26.02.03 11:49)

Простите, пожалуйста, я не совсем понял Ваш ответ. Нельзя ли более развернуто пояснить? Очень надо.


 
Smashich ©   (2003-02-26 12:07) [3]

я отвечу если вы мне подскажете где ошибка в моей программе?
кода не дам!


 
~   (2003-02-26 12:23) [4]

Код вот такой:

try
ADOStoredProc1.ExecProc;
except
ShowMessage(IntToStr (ADOStoredProc2.Connection.Errors.Count));
end;

Если в хранимой процедуре исключение появляется в первой выборке, ошибка ловится, если дальше-нет (в Query Analizyr-всегда).


 
~   (2003-02-26 12:27) [5]

Прошу прощения, везде ADOStoredProc1


 
BorisUK ©   (2003-02-26 12:38) [6]

Ну ... как кароче...
как ты смог объяснить проблему.. так те и смогли ответить.
где сама ХП то????
Что из тебя клещями все тянуть надо?


 
~   (2003-02-26 12:41) [7]

Да там просто тест, мне просто надо отлавливать на клиенте все ошибки.

SELECT * FROM table1
SELECT * FROM table2

table2 не существует в природе, стер я ее, нафиг.

Если переставить эти строки-клиент видит ошибку, и ее можно вывести, Description толковый.

А при таком тексте-не видит.

Помогите, пожалуйста!



 
Smashich ©   (2003-02-26 13:27) [8]

тость ея прально понимаю что у тя есть ХП в которой ты делаешь 2 выборки, из Table1 и Table2? причем Tabel2 не существует....
и если выборку делать сначала из несуществующей - то возникает ошибка, если же наобарот второй строкой делать выборку из несуществующей таблицы - то ошибки не возникает?

по ходу дела у тя вторая строчка просто не исполняется....

а вообще что за СУБД?
и полный код ХП пожалуйста!
типа create procedure(~)
returns (~)
as
~


 
~   (2003-02-26 13:48) [9]

>Smashich © (26.02.03 13:27)

Спасибо, Smashich, за сочувствие, в наши дни его так часто не хватает.

MS SQL Server, код процедуры-шаблонный.

--.................
CREATE PROCEDURE TestErrorProc AS
SELECT *
FROM Table1

SELECT *
FROM Table2
--.................

Дело именно в том, что клиент не нюхает ошибку, какая бы она не была, если первое действие без ошибок. И прекрасно нюхает ее, если при первом же действии происходит исключение.


 
Smashish   (2003-02-26 13:54) [10]

CREATE PROCEDURE TestErrorProc AS
BEGIN

SELECT *
FROM Table1
SELECT *
FROM Table2
--.................
END


не в этом ли проблема?


 
~   (2003-02-26 14:05) [11]

Так, проверил, так грамотнее, конечно, но, к сожалению, не сработало для выявления ошибки.


 
Smashich ©   (2003-02-26 14:28) [12]

а крен его знает;(


 
fool ©   (2003-02-26 14:50) [13]

Попробуй в ХП апосля SELECT * FROM Table1 поставить GO, т.е.
SELECT * FROM Table1
GO
SELECT * FROM Table2
GO


 
~   (2003-02-26 15:07) [14]

>fool © (26.02.03 14:50)

Так, проверил-хавает только первый GO, второй уже никак.

Решение пока такое нашел-динамически вторая процедура создается такая:

---

CREATE PROCEDURE T2
@S Int OUTPUT
AS
exec TestErrorProc
Set @S = @@Error

---



Страницы: 1 вся ветка

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
1-53980
calm
2003-03-06 10:48
2003.03.17
Почему не перерисовывается Listbox?


1-53999
udet
2003-03-06 15:07
2003.03.17
создание файла


3-53915
ruslan_as
2003-02-24 15:16
2003.03.17
Названия столбцов в DBGrid в две строки


14-54265
uw
2003-02-28 15:15
2003.03.17
По барабану


3-53855
Destroyer
2003-02-27 06:39
2003.03.17
Обновление Query