В начало
BLOB-поля в таблице FarmPreparatiЕсть база данных «Apteka.gdb», созданная к слову говоря в СУБД «Interbase 6.5». В этой базе имеется таблица «FarmPreparati», в которой, в числе прочих есть пара BLOB-полей. Одно поле «Instrukciya» предназначено для хранения инструкции к фармпрепарату, другое поле «Kartinka» служит для хранения картинки с внешним видом стандартной упаковки препарата. Поскольку с BLOB-полями в самой СУБД «Interbase 6.5» работать не совсем удобно, нужно в среде разработки «Дельфи 7» написать приложение для редактирования BLOB-полей. Итак, загружаем «Дельфи 7», создаем новое приложение. На главную форму приложения с панелей компонентов перетаскиваем: – IBDataBase
(с закладки InterBase); – IBTransAction
(с закладки InterBase); – IBTable
(с закладки InterBase); – DataSource
(с закладки Data Access); – DBGrid
(с закладки Data Controls); – DBMemo (с закладки Data Controls); – DBImage
(с закладки Data Controls); – OpenPictureDialog
(с закладки Dialogs); – Button (с закладки Standart); Рис. 1. Расположение компонентов на главной форме приложения Далее нужно связать компоненты между собой, установить некоторые параметры и написать немного кода.
Что интересно, для того чтобы добавлять/изменять содержимое текстового BLOB-поля через компонент DBMemo1 достаточно выделить запись и произвести изменения непосредственно в компоненте DBMemo1. Ну а чтобы добавить картинку в BLOB-поле нужно уже постить данные
через DataSet,
в данном случае это IDTable1, т.е. надо нажать кнопку «Добавить картинку», выбрать
картинку в диалоге, загрузить ее, и только потом отправить в базу. Причем
диалог картинок «OpenPictureDialog1» загружает не все картинки, формат «jpg», например, изначально
даже не видит. Хотя, если добавить в «uses» модуль «jpeg»,
то видит, но опять же в BLOB-поле
рисунок не добавится, поэтому нужно добавлять картинки формата «bmp», а они понятное дело
тяжелее. Рис.
2. Результат добавления инструкции и изображения в BLOB-поля |
| ||||||||||||||||||||||||||||