Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

как запостить файл в поле 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.038 c
2-1129787961
Green-Templar
2005-10-20 09:59
2005.11.13
random(2)*2


2-1129572350
eagle_ua
2005-10-17 22:05
2005.11.13
Как создать объект в Delhpi?


9-1119604921
Dennis
2005-06-24 13:22
2005.11.13
Синтез трехмерных моделей по фотографиям


14-1130020587
kaif
2005-10-23 02:36
2005.11.13
Высококачественный перевод на английский


2-1130169036
Drex
2005-10-24 19:50
2005.11.13
Указатель типа Pointer - читаем и записываем байты…





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский