powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 1. Послат сообшение из udf
3 сообщений из 3, страница 1 из 1
1. Послат сообшение из udf
    #32657667
Кирил К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте!
Помогите разобраться в следующей проблемке:

Я хочу из udf послат сообшение(ошибки), каторьi сервер Interbase/FireBird будет отслать на клиенте. Или по точние от udf я хочу указат IB/FireBird что произлашла неудач в мой udf и он(IB/FireBird ) послат мое сообшение(ошибки) на клиенте.

Например мой udf:
function ExprCheck(Expr, Groups: PChar): Integer; cdecl;
begin
Result = 0;
if StrPas(Expr) = '' then
begin
---->> здесь послат сообшение об ошибке(например 'My message');
Exit;
end;
Result := 1;
end;

На клиенте я вызвать запрос: SELECT ExprCheck('', '') FROM MyTable
и хочу получите сообшение(ошибка) "My Message"(в status_vector(ibase.h) с isc_print_sqlerror, isc_print_status).

В MSSQL Server я използваю в xp(extended stored procedure)
srv_sendmsg(SrvProc, SRV_MSG_ERROR, MsgNum, 0, 0, nil, 0, 0, PDBCHAR(Msg), SRV_NULLTERM);
srv_senddone(SrvProc, SRV_DONE_ERROR or SRV_DONE_MORE, 0, 0);

Мой вопрос:
У меня есть такая возможност в Interbase/FireBird?
...
Рейтинг: 0 / 0
1. Послат сообшение из udf
    #32657719
Фотография AndriyKo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кирил К У меня есть такая возможност в Interbase/FireBird?

Из UDF послать сообщение серверу, по-моему, нельзя. Твою задачу можно решить следующим образом. С клиента делаешь запрос, например

"Execute procedure SomeSP", где SomeSP - хранимая процедура.

В теле этой SomeSP вызываешь свою UDF, к примеру, так :

If (ExprCheck('', '')=SomeResult Then ...
Создать исключение (с любым текстом)
Create Exception ...
Exception ...

В результате получишь на клиенте исключение, которое тебе нужно.
...
Рейтинг: 0 / 0
1. Послат сообшение из udf
    #32657886
Кирил К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndriyKo Спасиба. Ета решение, но я думаю что есть и другой начин.
Я решил ета сделат лудшим если возможно(принимаю API Interbase/FireBird).
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 1. Послат сообшение из udf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]