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

Вниз

RAISERROR какбудто игнорируется !!!   Найти похожие ветки 

 
JibSkeart   (2003-01-27 13:22) [0]

Тоесть если в теле процедуры ента функция стоит первая то ошибка
появляется
но если

create procedure [...] as

... -- Сдеся всякая всячина

RAISERROR("Tram pam pam",16,1)

никакой ошибки он невыводит :(
как быть


 
sniknik   (2003-01-27 13:30) [1]

try
create procedure [...] as

... -- Сдеся всякая всячина
except
RAISERROR("Tram pam pam",16,1)
end

???????


 
MOA   (2003-01-27 14:37) [2]

А не делаете ли Вы ROLLBACK перед RAISERROR?
Удачи!


 
JibSkeart   (2003-01-27 14:38) [3]

нет нет эта процедура находится
в MSSQL
тобищь хранимая процедура

и в нутри этой процедуры есть всякие сравнения итд
что правильно внес пользователь итд и вывести ему енту ошибку


 
Mike_Goblin   (2003-01-27 16:07) [4]

Если перед RAISERROR были какие либо удачные выборки данных, то он не поднимается, такая вот особенность MS SQL


 
3JIA9I CyKA   (2003-01-27 17:42) [5]

raiserror 50001 "jopa"


 
Zelius   (2003-01-27 19:22) [6]

В начале процедуры, первой строкой поставь SET NOCOUNT ON


 
Shaman_Naydak   (2003-01-27 19:59) [7]

а РАБОТЕШЬ ты, батька, через ADO.
Это не бага, это фича :)
Совет Zelius дал дельный
другой вариант:
ковырни настройки сервака..

Ещу вариант:
если нет у тебя возвращаемого рекордсета, поставь флажок в дельфевом компоненте.

Удачи на дорогах


 
mad0max   (2003-01-28 05:19) [8]

Хочешь получить сообщение на клиенте или на сервере?


 
JibSkeart   (2003-01-28 11:27) [9]

Хочу получить на клиенте
иногда приходится
выводить что "Операция прошла успешно" итд...
а там уже обрабатываю через
try
except


вот так хочется и все :))



 
mad0max   (2003-01-29 04:39) [10]

Все правильно тебе писали, обрабатывай try-except

try
StoredProc.ExecProc
except
ShowMessage("Типа ошипка")
// А хочешь вот так, будет писаться ошибка сервера, контекст
// можешь убрать если хелп не цепляешь
on E: Exception do ShowMessage(E.Message + " " + IntToStr(E.HelpContext));

end


 
JibSkeart   (2003-01-29 10:37) [11]

Дело в том что я так и обрабатываю
скорее всего
Цитата:
Mike_Goblin © (27.01.03 16:07)
Если перед RAISERROR были какие либо удачные выборки данных, то он не поднимается, такая вот особенность MS SQL


Но сдругой стороны

если процедура будет выглядить так

select @a = a from table
-- Пускай @a будет равен 1
-- значит @res = 1
if a>2
begin
set @res = 0
end
else
begin
set @res = 1
end
if @res <> 0
begin
RAISERROR("TESTERROR",1,1)
end

Вот и даже так уже ошибки нету !!!
Как быть тут ???


 
Александр Спелицин   (2003-01-29 11:18) [12]

Вы работаете через OLE DB Privider For MSSQL
Перейдите на OLE DB Privider For ODBC и этого глюка у Вас не будет. Проверено, работает.


 
JibSkeart   (2003-01-29 11:21) [13]

Спасибо попробуем


 
mad0max   (2003-01-29 11:55) [14]

to JibSkeart

>>RAISERROR("TESTERROR", 1,1)
Кстати что вы слышали об уровнях ошибок в SQL Server (это первый числовой параметр в raiseerror)
Сообщения начиная только с 12 уровня выбрасываюся на клиента, так что ваша единичка никак не должна прокатить

to Александр Спелицин
OLE DB Privider For MSSQL - все замечательно работает, уже годами...

Я так думаю...
:)





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

Форум: "Базы";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
3-38084
SerjUfa
2003-01-27 14:45
2003.02.13
2 вопроса по TQuery


9-38010
Fog
2002-09-04 11:32
2003.02.13
DirectDraw?


7-38579
alex_bf
2002-12-07 06:35
2003.02.13
Загрузка Win 9x


3-38016
Андрусь
2003-01-28 17:47
2003.02.13
Как Raw перебэхать в Number


4-38625
KPV-10k
2002-12-30 22:42
2003.02.13
Отрисовка канвы у TMainMenu и TPopupMenu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский