|
|
|
1. Послат сообшение из udf
|
|||
|---|---|---|---|
|
#18+
Всем здравствуйте! Помогите разобраться в следующей проблемке: Я хочу из 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? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 18:47:34 |
|
||
|
1. Послат сообшение из udf
|
|||
|---|---|---|---|
|
#18+
Кирил К У меня есть такая возможност в Interbase/FireBird? Из UDF послать сообщение серверу, по-моему, нельзя. Твою задачу можно решить следующим образом. С клиента делаешь запрос, например "Execute procedure SomeSP", где SomeSP - хранимая процедура. В теле этой SomeSP вызываешь свою UDF, к примеру, так : If (ExprCheck('', '')=SomeResult Then ... Создать исключение (с любым текстом) Create Exception ... Exception ... В результате получишь на клиенте исключение, которое тебе нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2004, 19:10:31 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32657719&tid=1578047]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
186ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 292ms |
| total: | 541ms |

| 0 / 0 |
