Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хранение изображения в sql server 
:(
    Опции темы
yandeXXX
Дата 22.2.2011, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



Имеется база данных (СУБД, соответственно, MS SQL Server 2008), доступ к таблицам через через TADOTable. В таблице есть поле типа image. Подскажите как можно хранить и отображать изображения?
PM MAIL   Вверх
Antimol
Дата 22.2.2011, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: 4
Всего: 4



Цитата

...как можно хранить изображения

Создать в таблице поле и указать ему тип image


Цитата

....как можно отображать  изображения


Как вариант - можно разместить на форме компонент  DBImage и подключить его к соответствующему полю (правда кажется там только рисунки в bmp формате отображаются)

Это сообщение отредактировал(а) Antimol - 22.2.2011, 16:46
--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
yandeXXX
Дата 22.2.2011, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



Поле с типом image есть, как я и указал. С компонентом DBImage тоже пробовал. Проблема в том, что не срабатывает. Код, которым добавлял данные:
Код

if OpenPictureDialog1.Execute then
begin
  table1.edit;
  DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
  Table1.Post;
end;

PM MAIL   Вверх
chip_and_dayl
Дата 22.2.2011, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 2
Всего: 9



Код

function SetData(Dataset: TADOQuery; FieldName: String; Bitmap: TBitmap): Boolean;
var Stream: TStream;
begin
  Result := True;
  try
    Stream := TADOBlobStream.Create(Dataset.FieldByName(FieldName) as TBlobField, bmWrite);
    try
      BitMap.SaveToStream(Stream);
    finally
      Stream.Free;
    end;
  except
    Result := False;
  end;
end;


Пример работы
Код

procedure TfrmPropHall.btnChangeClick(Sender: TObject);
var
  Bmp: TBitMap;
begin
  inherited;
  if dlgPicture.Execute then
    begin
      Bmp := TBitMap.Create;
      try
        Bmp.LoadFromFile(dlgPicture.FileName);
          dsGroup.Dataset.Edit;
        SetData(dsGroup.Dataset as TADOQuery, 'background', Bmp);
        dsGroup.Dataset.Post;
      finally
        FreeAndNil(Bmp);
      end;
    end;
end;


Добавлено через 1 минуту и 18 секунд
'background'  -  имя поля с изображением в вашей базе

Это сообщение отредактировал(а) chip_and_dayl - 22.2.2011, 17:23


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
yandeXXX
Дата 24.2.2011, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



спасибо! помогло )
вопрос теперь в другом. dbimage, похоже, отображает только bmp. как быть, если хочу jpeg тоже отображать?

Это сообщение отредактировал(а) yandeXXX - 24.2.2011, 10:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0651 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.