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

Вниз

2000 через ADO, проблема с RAISERROR   Найти похожие ветки 

 
Shaman_Naydak   (2002-07-30 18:20) [0]

вызываю RAISERROR "Test", 16, 1
Может кто сталкивался.. как собственно получить 16 или 1 (severity or state)
Само сообщение получается на ура, а вот цифирки :(

Кстати, если кто сталкивался, что исключения не подымаются, пишите, я уже столкнулся с этим @#$% и знаю как лечить


 
TSV   (2002-07-30 19:22) [1]

Используй в конце опцию WITH SETERROR, и все будет подниматься в любых случаях...


 
TSV   (2002-07-30 19:29) [2]

А по поводу Severity и State - в Делфи нет встроенных средств для этого, насколько я помню...


 
Shaman_Naydak   (2002-07-30 19:32) [3]

ты не совсем понял вопроса.. я не сказал, что не поднимается..
я спросил.. как получить severity или state..
После выполнения в Errors^
Number = 800040E14
Source = Provider...
Description = Error Message
SQLSTATE = 42000
NativeError = 50000
Вот такая фигня


 
3JIA9I CyKA   (2002-07-30 20:21) [4]

>знаю как лечить

Как!?


 
Shaman_Naydak   (2002-07-31 16:13) [5]

АУ, у кого нибудь есть идеи??

> 3JIA9I CyKA © (30.07.02 20:21)

Условие возникновения:
работа с ОLE DB драйвером + наличие в хранимой до RAISERROR какого-нибудь statement, т.е.
сперва идет insert/update/delete/select не в переменную..
а затем срабатывает RAISERROR
Причина:
Это оказывется не бага, а фича!! Во как, млин..
Происходит из-за того, что каждый statement по умолчанию возвращается так сказать как отдельный _Recordset
Способ устранения:
1. В хранимой установить SET NOCOUNT ON (не проверял)
2. В ExecuteOptions добавить eoExecuteNoRecords (если, конечно, не нужен выходной рекордсет)
3. после вызова пробежаться по всем вернувшимся рекорсетам,т.е.
var R: _Recordset;
R:=ADOCommand1.Execute;
while R <> nil do
R:=R.NextRecordset;

пишу по памяти, могут быть неточности в названиях



 
3JIA9I CyKA   (2002-07-31 17:38) [6]

2Shaman_Naydak
СПС!!!
(СПС!!! >> спс)


 
Shaman_Naydak   (2002-07-31 19:38) [7]


> 3JIA9I CyKA © (31.07.02 17:38)

То есть, этта, там не устранять надо в 3 шага, а на выбор предложены 3 способа устранения.. совсем дурной стал



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

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

Наверх




Память: 0.45 MB
Время: 0.007 c
1-71151
Torn
2002-08-08 23:45
2002.08.22
Бегущая строка


14-71370
MJH
2002-07-28 01:56
2002.08.22
http://www.mjhf.dk/


14-71351
vads
2002-07-27 11:44
2002.08.22
Купил книгу Ч.Калверт, К.Рейсдорф - Borland C++Builder 5. Энцикл


1-71224
Сергей Плоткин
2002-08-11 14:45
2002.08.22
Как послать сообщение одной копии программы другой?


4-71448
mcs
2002-06-16 15:33
2002.08.22
создать большой файл





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