Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2015.12.27;
Скачать: [xml.tar.bz2];

Вниз

Как сообщение 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;
Скачать: [xml.tar.bz2];

Наверх





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


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


15-1430688602
Юрий
2015-05-04 00:30
2015.12.27
С днем рождения ! 4 мая 2015 понедельник


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


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский