Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Особенности сохранения изображений в БД





Цель: изучение способов работы с изображениями в базе данных

Некоторые базы данных могут содержать в себе изображения. Для работы с ними мы будем использовать компонент DBImage.

Создаем вспомогательный каталог, например, Kartinki, выкладываем в него несколько изображений. Потдерживается только формат BMP.

В утилите DBD создаем файл базы данных для работы с изображениями vid.db. Структура файла vid.db:

Назначение полей:

Поле Назначение
Npp Уникальный ключ, поле с автоматическим приращением значения на 1 при добавлении новой записи к файлу (автоинкрементное поле)
Naim Наименование рисунка
Photo Поле для хранения собственно изображения. Его тип – G(graphic), разме поля не указывается, так как память под него выделяется динамически при присвоению этому полю значения картинки – см.листинг программы
Path Системный путь к каталогу, откуда взят рисунок. В данном примере он используется только в информационном плане.
Memo Текстовая сопутствующая информация

для сортировки рисунков по алфавиту создаем вторичный индекс indVidNaim по полю Naim.

Переносим на форму следующие компоненты: Button (5 шт.), DBGrid, DBImage, OpenPictureDialog, DBMemo, Image. Где Image1 – вспомогательный компонент, а свойству DataFailed компонента DBImage1 указываем на поле Photo.

 

 

Для записи в базу данных нового изображения воспользуемся методом Assign (назначить) в команде:

tVid->FieldByName("Photo")->Assign(Image1->Picture);

Команда автоматически выделяет столько памяти, сколько места занимает объект Image1->Picture, и записывает эти байты в автоматически построенный вспомогательный файл vid.mb, ав поле Photo заносится ссылка на него.

Аргументом метода Assign может служить только рисунок, находящийся в компоненте TImage, поэтому и приходится помещать на форме этот вспомогательный объект. Непосредственно присвоить полю Photo информацию из рисунка, хранящегося на диске, невозможно, поэтому мы воспользуемся следующим алгоритмом:

1. Из директории изображений загрузить в компонент TImage нужный рисунок

2. Присвоить информацию из TImage соответсвующему полю файла базы данных

 

 

Date: 2015-12-12; view: 310; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию