Главная страница
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.005 c
2-1403862365
ivan_ivany4
2014-06-27 13:46
2015.12.27
Яркость изображения в TImage


15-1430653980
Kerk
2015-05-03 14:53
2015.12.27
GPRS


15-1429776423
sniknik
2015-04-23 11:07
2015.12.27
Исключить поля из запроса.


3-1306339451
ddd329
2011-05-25 20:04
2015.12.27
Права доступа MS SQL Server


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