Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.06.2016, 13:12
Serob Serob вне форума
Прохожий
 
Регистрация: 06.06.2016
Сообщения: 2
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию Работа с Blob полями в PostgeSQL

Здравствуйте, помогите пожалуйста! Поставлены задачи: 1.загрузить картинку в базу данных 2.открыть из базы данных.
Загрузка осуществляется с помощью потока TStream. Не получается реализовать открытие файла.
Вот код на загрузку:
Код:
var
    FStream : TFileStream;
    file_name_to_base,fe:string; //название ресурса и формат
    fsize:longint; //размер
    kl_s:string; //ключевые слова
    op:string;//описание
    begin
    adoconnection1.BeginTrans;
    opendialog1.Execute;
    file_name_to_base :=OpenDialog1.FileName ;

    fe:= ExtractFileExt(OpenDialog1.FileName);

     adocommand1.Parameters.Clear;

     FStream := TFileStream.Create((file_name_to_base), fmOpenRead);

     kl_s:=Edit2.Text; //ключевые поля
     op:=Memo1.Text;   //описание

  
            adocommand1.CommandType:=cmdText ;
            adocommand1.CommandText := 'insert into "Ресурсы"("Название_ресурса","Формат","Ресурсы","Размер","Ключевые_слова","Описание") values('
             + quotedstr(file_name_to_base) +  ',' + quotedstr(fe) + ','+ ':BStr1'+ ',' + inttostr(fstream.size) + ',' + quotedstr(kl_s) + ',' + quotedstr(op) + ')';

     end;
  end;
Ответить с цитированием
  #2  
Старый 08.06.2016, 04:29
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В свое время делал через TTable (аналог из соотв набора компонент). Там можно закастить поле к TBlobField,а уже у него "дергать" LoadFromFile/LoadFromStream.
Еще вот тут глянь:
http://stackoverflow.com/questions/1...component-only
Ответить с цитированием
  #3  
Старый 13.06.2016, 04:39
Serob Serob вне форума
Прохожий
 
Регистрация: 06.06.2016
Сообщения: 2
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
В свое время делал через TTable (аналог из соотв набора компонент). Там можно закастить поле к TBlobField,а уже у него "дергать" LoadFromFile/LoadFromStream.
Еще вот тут глянь:
http://stackoverflow.com/questions/1...component-only
Спасибо за помощь!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:41.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter