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

Вниз

Как сообщение RAISERROR из ХП показать пользователю на экране?   Найти похожие ветки 

 
vv_fran   (2011-05-23 12:09) [0]

Как сообщение RAISERROR из ХП показать пользователю на экране? У меня SQL Server, Делфи и UniDac компоненты.
В ХП:

IF (@N IS NULL)
BEGIN
SET @N = 0;
RAISERROR("Такого кода нет!",1,1);
END ELSE BEGIN
......


 
Ega23 ©   (2011-05-23 12:33) [1]

try
 ADOCommand.Execute;
except on E: Exception do
 ShowMessage(E.Message);
end;


?


 
OW ©   (2011-05-23 13:04) [2]

будут критиковать сейчас, и правильно сделают. Жду.
(юзаю не комманд, а квери. Пусть бульдозеро-экскаватор, но все же и бульдозер и экскаватор
и привык :) )

далее пишу все свои процедуры как select

IF (@N IS NULL)
BEGIN
Select -1 as MyRes, "Такого кода нет" as Becouse
return

и в конце
select 0 as MyRes, "ok" as Becouse

потом после вызова любой процедуры (а теперь всегда надо делать Open, а не Exec, т.к. все мои процедуры что-то возвращают) MyRes сравниваем с 0 и показываем/пишем в лог Becouse

Function ExecProc(Q : tADOQuery; Var S : string): integer;
begin
 Q.Open;
 S :=  Q.FieldByName("Becouse").AsString;
 Result := Q.FieldByName("MyRes").AsInteger;
end;

qQ.sql.text := "exec MyProc";
if ExecProc(qQ, sTmp) <> 0
  then ShowMessage(sTmp);


 
Ega23 ©   (2011-05-23 13:30) [3]


> будут критиковать сейчас, и правильно сделают. Жду.

raiserror хорош для жесткого отката транзакции, как внутри ХП, так и на клиенте.
В остальных случаях лично я по методу Влада пользовался.


 
Polevi ©   (2011-05-25 17:27) [4]

sql server начиная с 2005 версии поддерживает конструкции BEGIN TRY, BEGIN CATCH, и ф-ии ERROR_NUMBER(), ERROR_MESSAGE(), etc



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

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

Наверх




Память: 0.47 MB
Время: 0.004 c
3-1306138163
vv_fran
2011-05-23 12:09
2015.12.27
Как сообщение RAISERROR из ХП показать пользователю на экране?


15-1430343002
Юрий
2015-04-30 00:30
2015.12.27
С днем рождения ! 30 апреля 2015 четверг


4-1275001764
batya15
2010-05-28 03:09
2015.12.27
Найти Edit в окне Explorer a


2-1403857653
lewka_s
2014-06-27 12:27
2015.12.27
Не работает Sleep


15-1430775002
Юрий
2015-05-05 00:30
2015.12.27
С днем рождения ! 5 мая 2015 вторник