Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.51 MB
Время: 0.042 c
15-1158747829
Torry
2006-09-20 14:23
2006.10.15
ISDEF Start Seminar


11-1135681340
Flea
2005-12-27 14:02
2006.10.15
KOLGets ?


15-1158837623
iamdanil
2006-09-21 15:20
2006.10.15
(с)


1-1156672010
Mr tray
2006-08-27 13:46
2006.10.15
Синхронизация


2-1159207386
ElvenArch
2006-09-25 22:03
2006.10.15
Перевод из Fox в InterBase





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