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

Вниз

Как используя BDE и MS SQL Server получать RAISEROR( Err ,10)   Найти похожие ветки 

 
incm ©   (2006-08-17 18:25) [0]

В триггере делается проверка и выдается информационное сообщение. И нужно что бы его увидел пользователь на клиенте. Но BDE выдает только ошибки с высоким severity level, но в данном случае ошибки нет и транзакция успешно завершается. Поэтому RAISERROR с высоким severity level не катит.
Нужно что бы и сообщение выдалось и нормально завершилась транзакция и BDE  это правильно обработал.


 
clickmaker ©   (2006-08-17 18:35) [1]

делай не в триггере, а в хранимке. А сообщение через out-параметр, либо строкой, либо возвращай код, а по нему на клиенте уже грузи соотв. строку


 
incm ©   (2006-08-17 18:44) [2]


> clickmaker


Нужно в триггере на добавление записи.


 
clickmaker ©   (2006-08-17 19:04) [3]


> Нужно в триггере на добавление записи

а что мешает это делать хранимкой?


 
Dok   (2006-08-18 10:23) [4]


> В триггере делается проверка и выдается информационное сообщение.
>  И нужно что бы его увидел пользователь на клиенте. Но BDE
> выдает только ошибки с высоким severity level, но в данном
> случае ошибки нет и транзакция успешно завершается. Поэтому
> RAISERROR с высоким severity level не катит.
> Нужно что бы и сообщение выдалось и нормально завершилась
> транзакция и BDE  это правильно обработал.

блин а АДО чем не угодил то?


 
incm ©   (2006-08-18 10:45) [5]


> Dok



> блин а АДО чем не угодил то?


Тем, что уже усть готовый большей проект на BDE. И переделать все на ADO достаточно проблематично.


 
Dok   (2006-08-18 11:34) [6]

а то что бде не развивается - ку?


 
incm ©   (2006-08-18 12:07) [7]


> Dok
> а то что бде не развивается - ку?


Планируем переход на что-то другое, но пока надо решить задачу на BDE.
А кстати на ADO как можно подобное сделать? ADO тоже такие ошибки не выдает.


 
clickmaker ©   (2006-08-18 12:17) [8]


> [7] incm ©   (18.08.06 12:07)

если сообщение чисто информационное, то не дело вешать его на raiserror. Почему бы не написать хранимку для добавления данных, а в ней уже всю обработку?


 
incm ©   (2006-08-18 12:56) [9]


> clickmaker


Есть много форм, где компоненты сами добавляют запись в таблицу. Поэтому нельзя менять способ добавления, а нужно просто отловить момент добавления и сделать проверку + выдать сообщение.


 
Danilka ©   (2006-08-18 13:05) [10]

[7] incm ©   (18.08.06 12:07)
> ADO тоже такие ошибки не выдает.

АДО все выдает.
Только, раз это сообщение, то лучше print использовать, однако.
АДО и его понимает. Про то, как получить print в АДО, здесь периодически спрашивают, наверняка поиском можно найти ответ.


 
clickmaker ©   (2006-08-18 13:19) [11]


> Есть много форм, где компоненты сами добавляют запись в
> таблицу

а как они это делают?


 
incm ©   (2006-08-18 13:47) [12]


> clickmaker


Ну например в DBGrid. Как я поменяю логику работы грида?

Да и в любом случае менять способ добавления в таблицу не желательно, нужно все в триггерах отлавливать.


 
incm ©   (2006-08-18 13:57) [13]


> Danilka


Все что нашел:
http://delphimaster.net/view/3-1153197441/

Ответа там нет, а только лишь утверждения что можно.

OnInfoMessage у ADOConnection не срабатывает, ADOConnection.Errors после Post тоже пустой, событие OnPostError тоже не срабатывает.

Так все же как???!!!


 
Danilka ©   (2006-08-18 14:20) [14]

уф. я уже и не помню, на данном рабочем месте и дельфи-то нет.
sniknik как-то приводил аж 4 варианта, если не ошибаюсь, по 2 варианта с серверным и клиентским курсором.
с серверным, кажись, и errors не пустой, и событие OnInfoMessage тоже срабатывает, а как с клиентским я уже и не помню, навскидку, но точно можно все вытащить.


 
Dok   (2006-08-18 14:42) [15]

http://community.borland.com/article/0,1410,20245,00.html


 
Danilka ©   (2006-08-18 14:55) [16]

[15] Dok   (18.08.06 14:42)
Ага, все дело в eoExecuteNoRecords.


 
sniknik ©   (2006-08-18 15:01) [17]

> sniknik как-то приводил аж 4 варианта,
не из тригерра, а от print-ов в скрипте. в тригере сообшение как то даже смотрится странно (кому?) чтобы его рассматривать...


 
Dok   (2006-08-18 15:29) [18]

http://www.sql.ru/forum/actualthread.aspx?bid=20&tid=92662#676355


 
sniknik ©   (2006-08-18 16:21) [19]

блин, не путайте человека, тригер это не процедура и не скрипт, который вами и выполняется, он выполняется в другом пространстве.


 
incm ©   (2006-08-18 19:31) [20]


> sniknik


Собственно с триггером ничего и не получилось описаными способами



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

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.055 c
3-1155295880
DelphiLexx
2006-08-11 15:31
2006.10.15
TFIBDataSet перемещение записи


2-1159351659
John69
2006-09-27 14:07
2006.10.15
непонятки при интенсивной работе со строками


15-1158829022
buka
2006-09-21 12:57
2006.10.15
Совершенный код


15-1159162480
Ega23
2006-09-25 09:34
2006.10.15
С Днём рождения! 24 сентября


15-1158747060
VitV
2006-09-20 14:11
2006.10.15
Покупать или не покупать