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

Ваш аккаунт

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

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

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

Blob

1.9K
25 марта 2003 года
Stanly
29 / / 05.02.2003
Почему не работает такой код

BlobStreamFrom := Copier.CreateBlobStream(Copier.FieldByName(sBlobFieldName),bmRead);
BlobStreamTo := insertRec.CreateBlobStream(insertBlob.FieldByName(sBlobFieldName), bmReadWrite);
BlobStreamTo.CopyFrom(BlobStreamFrom,BlobStreamFrom.Size);
insertBlob.Post;

insertBlob : TIBDataSet;
Copier : TIBQuery;
BlobStreamTo, BlobStreamFrom : TStream;

После Commit-а транзакции в поле базы ничего нет.
2.0K
01 сентября 2003 года
Byte
24 / / 07.03.2003
Цитата:
Originally posted by Stanly
Почему не работает такой код

BlobStreamFrom := Copier.CreateBlobStream(Copier.FieldByName(sBlobFieldName),bmRead);
BlobStreamTo := insertRec.CreateBlobStream(insertBlob.FieldByName(sBlobFieldName), bmReadWrite);
BlobStreamTo.CopyFrom(BlobStreamFrom,BlobStreamFrom.Size);
insertBlob.Post;

insertBlob : TIBDataSet;
Copier : TIBQuery;
BlobStreamTo, BlobStreamFrom : TStream;

После Commit-а транзакции в поле базы ничего нет.



Вообще, CreateBlobStream по умолчанию возвращает NULL.
Попробуйте сделать вот так (синтаксис сишный):

TMemoryStream *ms = new TMemoryStream;
TBlobField *bl = (TBlobField *)
Copier->FieldByName(sBlobFieldName);
bl->SaveToStream(ms);
insertRec->LoadFromStream(ms);
delete ms;

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог