Главная страница
    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.46 MB
Время: 0.008 c
1-71177
cult
2002-08-09 16:15
2002.08.22
Как сделать форму Always-on-top?


3-71036
Nikolai_S
2002-07-25 11:33
2002.08.22
Как в Access с помощью SQL-запроса сделать поле необязательным?


14-71346
Flirt
2002-07-25 17:05
2002.08.22
Где можно скачать ХОРОШИЙ пример WebBrowser’а?


1-71127
Mars
2002-08-13 10:47
2002.08.22
Можно ли в MessageDlg писать русские заголовки?


3-70959
Noname123
2002-08-02 23:18
2002.08.22
Execl в Delphi 6





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