Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.22;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-71260
GIN
2002-08-12 10:38
2002.08.22
Проблемы с CGI-скриптами


3-71059
Sedunov Vitaly
2002-08-02 12:08
2002.08.22
InstallShield Express+SQL Server


1-71099
Tat
2002-08-12 17:42
2002.08.22
QReport : Delphi2->Delphi5


1-71167
SashaK
2002-08-13 14:05
2002.08.22
Освобождение памяти


1-71251
V.Turecky
2002-08-11 18:30
2002.08.22
Обновление explorer a без перезагрузки компа...