Вниз
Скачать: CL | DM;

как запостить файл в поле BLOB для INTERBASE?   Найти похожие ветки 

← →
Analitik ©   (2005-09-02 18:13) [0]

ДОбрый день!
Есть проблема: как запостить файл в BLOB-поле в СУБД Interbase (прога на Delphi)?
следующий код работает для MS Access, но не принимается INterbase. Компилятор не ругается, просто ничего не происходит.
код:
var
blob: TStream;
fs : TStream;
begin
           IBTable1.Insert;
           blob := IBTable1.CreateBlobStream(IBtable1.FieldByName("TMP_DOC"),bmWrite);
           try
             blob.Seek(0, soFromBeginning);
             fs := TFileStream.Create("D:\mm.doc", fmOpenRead or fmShareDenyWrite);
             try
               blob.CopyFrom(fs, fs.Size)
             finally
               fs.Free
             end;
           finally
             blob.Free;
             IBTable1.Post;
           end;


← →
Desdechado ©   (2005-09-02 18:54) [1]

а транзакцию подтвердить не пробовал?

и что значит "ничего не происходит"? В базу смотрел после выполнения?


← →
Alexandr ©   (2005-09-03 07:29) [2]

сначата post потом free.
О, так у тебя еще и стрим закрывается до поста?
короче где-то на ibase.ru было на этот счет написано


← →
Analitik ©   (2005-09-09 19:56) [3]

Ок, все работает.
Можно было не извращаться с потоками:)
код:
begin
   Database1.Open;
   if Database1.Connected then
     begin
       Table1.Open;
       Transaction1.Active:=true;
       Table1.Insert;
       Table1Field1.LoadFromFile(filename);
       Table1.Post;
       Table1.Close;
       Transaction1.Commit;
     end;
end;

Спасибо за ответы:)


← →
oleg_   (2005-09-28 22:16) [4]

А если через query? то как?


← →
Desdechado ©   (2005-09-28 22:43) [5]

то же самое
Query1.Sql.Text :=
  "INSERT INTO testblob " +
  " ( " +
  "  fBlob" +
  " )" +
  " VALUES" +
  " (" +
  " :ParamBlobField" +
  ")";
Query1.ParamByName("ParamBlobField").DataType := ftBlob;
Query1.ParamByName("ParamBlobField").ParamType := ptInput;
Query1.ParamByName("ParamBlobField").LoadFromFile("MyFile",ftBlob);
Query1.ExecSql;


← →
Oleg_   (2005-09-29 10:34) [6]

->Desdechado ©  

спасибо все стало понятно



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
3-1127554610
hooky-mars
2005-09-24 13:36
2005.11.13
Access как сервер


8-1119515755
dtl
2005-06-23 12:35
2005.11.13
3d координатная сетка,повороты,масштабирование...


2-1129914759
Volf_555
2005-10-21 21:12
2005.11.13
Как на Delphi определить файл или папку


1-1129891440
DelphiLexx
2005-10-21 14:44
2005.11.13
Движение компонента


2-1129802515
Андрей__
2005-10-20 14:01
2005.11.13
DBLookUpComboBox




   Наверх