Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизКак используя 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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.044 c