Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с TBlobField

295
08 сентября 2003 года
gray_k
356 / / 20.12.1999
Есть база на IB/FB. Клиент на C++ Builder (или Delphi - в данном случае не важно).
В базе хранятся файлы в битовом поле BlobField (.txt, .xls, .doc, .jpg). В клиенте необходимо иметь возможность просматривать эти файлы. Я пробовал делать через OleContainer таким образом:

TMemoryStream *ms = new TMemoryStream;
MyQuery->FieldByName("MyFile")->SaveToStream(ms);
Ole->LoadFromStream(ms);
delete ms;

На строке с LoadFromStream вываливается ошибка - Stream read error.
Если сделать так:
TBlobStream *ms = new TBlobStream(((TBlobField*)qu->FieldByName("FILE")), bmRead);
Ole->LoadFromStream(ms);
delete ms;
то вываливается ошибка Invalid class typecast на строчке с new.
Никто не сталкивался с таким вопросом?
293
09 сентября 2003 года
SEDEGOFF
586 / / 06.10.2002
TIcon *ico = new TIcon;
ico->LoadFromStream(IBQuery2->CreateBlobStream(IBQuery2->Fields->Fields[1], bmRead));

я делал вот так для иконки, наверное так же можно и для файла
1.9K
10 сентября 2003 года
ILS
100 / / 28.01.2003
перед
Ole->LoadFromStream(ms);
нужно было выставить позицию
ms->Position=0;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог