Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Запись произвольного файла в поле BLOB Firebird   Найти похожие ветки 

 
starling13 ©   (2004-08-25 14:21) [0]

Предлагаемф helpom способ
MyIBBlobBlobStream:=Dataset1.CreateBlobStream(Dataset1.FieldByName("MyBLOBFld") as TBlobField, bmReadWrite);
MyIBBlobBlobStream.LoadFromFile("FileName");
Dataset1.Post
не может работать, т.к CreateBlobStreamозвращает TSream, а у него нет метода LoadFromFile.
сли обнаглеть и написать
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
14-1094229906
VictorT
2004-09-03 20:45
2004.09.26
Уехать... оборвать все связи... сменить телефон, аську, мыло...


9-1086199501
Кто-то
2004-06-02 22:05
2004.09.26
Сетевая игра - что использовать?


11-1080824008
Дас Виндовс 45
2004-04-01 16:53
2004.09.26
CopyFrom


6-1089786410
Xacker_x
2004-07-14 10:26
2004.09.26
Api-сокет


14-1094645477
Yakudza
2004-09-08 16:11
2004.09.26
Sybase ASE на шару отдают !