Firebird / Возврат BLOB'а из хранимой процедуры
От: DemAS http://demas.me
Дата: 20.01.03 09:41
Оценка:
Есть хранимая процедура:

CREATE PROCEDURE RETURN_MESSAGE(
    MESSAGE_ID INTEGER)
RETURNS (
    MESSAG BLOB SUB_TYPE 1 SEGMENT SIZE 8)
AS
begin
  /* Возвращает содержимое определенного сообщения */
  for select messag
  from messages
  where message_id=:message_id
  into :messag do
  suspend;
end


Процедура возвращает blob.

Теперь я пытаюсь получить этот blob в Дельфях, но уже как строку. Если я делаю так:

dm.qMessage.sql.text:='select * from return_message(100)'; // Это query
dm.qMessage.Open;
Memo1.Lines.Text:=dm.qMessage.FieldByName('messag').AsString;


— то все работает.

Если же я пытаюсь работать с компонентой TIBStoredProc:

dm.IBStoredProc1.ParamByName('message_id').AsInteger:=100;
dm.IBStoredProc1.ExecProc;
Memo1.Lines.Text:=dm.IBStoredProc1.ParamByName('messag').AsString;


То в Memo появляется строка '[blob]'.

Как получить строку с помощью TIBStoredProc ?
... << Играет Metallica — Orion (Instrumental)>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.