Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизЗапись произвольного файла в поле BLOB Firebird Найти похожие ветки
← →
starling13 © (2004-08-25 14:21) [0]Предлагаемф helpom способ
MyIBBlobBlobStream:=Dataset1.CreateBlobStream(Dataset1.FieldByName("MyBLOBFld") as TBlobField, bmReadWrite);
не может работать, т.к CreateBlobStreamозвращает TSream, а у него нет метода LoadFromFile.
MyIBBlobBlobStream.LoadFromFile("FileName");
Dataset1.Post
сли обнаглеть и написатьMyIBBlobBlobStream:=TIBBlobStream(Dataset1.CreateBlobStream(Dataset1.FieldByName("MyBLOBFld") as TBlobField, bmReadWrite));
то ничего хорошего не получается
Другой пример из helpa
procedure MyProc;
var FldStrm: TIBBlobStream;
TmpStrm: TStream;
begin
IBDataset1.Edit;
TmpStrm:=IBDataset1.CreateBlobStream(IBDataset1.FieldByName("MyBLOBFld") as TBlobField, bmReadWrite);
FldStrm:=TIBBlobStream.Create();
FldStrm.LoadFromFile("FileName");
TmpStrm.CopyFrom(FldStrm, FldStrm.Size);
IBDataset1.Post;
end;
Проходит без ошибок, но поле таблицы остаётся нетронутым.
Нелегко переходить на Delphi после VBA для Access.
← →
starling13 © (2004-08-25 14:46) [1]Скажите, пожплуйста что-нибудь!
← →
Johnmen © (2004-08-25 16:45) [2]Типа того:
S := TFileStream.Create("FileName",fmOpenRead);
S.Seek(0,soFromBeginning);
Edit;
TBlobField(IBDataset1.FieldByName("MyBLOBFld")).LoadFromStream(S);
Post;
И вообще, примеров тонны :)
А в у тебя в последнем варианте не получается потому, что указатель в потоке не установил в начало...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c