Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: 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 вся ветка

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
11-1111470548
bar
2005-03-22 08:49
2005.11.13
Может убрать строку { KOL MCK } // Do not remove this line


4-1126174606
jeka_t
2005-09-08 14:16
2005.11.13
Есть ли функция, которая возвращает "Описание" в "Имени компьютер


2-1129556336
Fast2
2005-10-17 17:38
2005.11.13
Как "редактировать" DBGrid?


2-1129575723
ctokas
2005-10-17 23:02
2005.11.13
90 DEC в 90HEX


14-1130085395
Profi
2005-10-23 20:36
2005.11.13
Посоветуйте / подкиньте идеи.