Додавання картинок в бд, блог delphi-програміста

Візьмемо за приклад будь-яку БД. Я візьму той же MS Access за технологією ADO. Підключати ми вже вміємо дану БД в Delphi. Робимо підключення і створюємо там якусь текстове поле. На формі у нас перебувати

  • TImage
  • TButton - 2 шт
  • TOpenDialog
  • TAdoQuery
  • TAdoConnection

Ну думаю вистачить, якщо щось забули, то походу все зробимо. БД у нас готова, таблиця називається в БД Files. Нехай так, думаю тут нічого придумувати не треба. Також в корені папки з нашою програмою (додатком) створимо папку files. На прімерt jpg -картінок подивимося як додавати таким способом дані в БД.

Для початку як завжди активуємо наш AdoQuery. і тому на OnCreate нашої головної форми напишемо це

Далі на Button1 подія OnClick пишемо (це у нас формальне додавання даних)

У даній функції наступні параметри

  • шлях до файлу, який копіюємо
  • шлях до файлу, куди зберігаємо
  • прапор

Тут думаю проблем виникнути не повинно. Далі ми зчитуємо з БД ім'я нашого файлу і виводимо jpg -картінку в наш TImage. Це приблизно буде виглядати так

Тобто, ставимо покажчик на перший запис, Новомосковський ім'я файлу і просто завантажуємо його в TImage. Як бачите дані в БД не зберігаються, і тому БД буде не великий за розміром, але зате каталог з програмою буде займати пристойне місце, якщо звичайно буде багато об'ємних файлів.

Це можна застосовувати у всіх БД, думаю, що все зрозуміло.

Вихідні тексти статті можна скачати тут

Схожі записи

Шановний спасибі за блог. Але додавання малюнка на вашому исходнике не працює. У мене прохання, як додати фото (Jpeg, ітд основні формати) в базу даних на ADO? де не дивився один варіант на всіх сайтах:
ADOQuery1.Edit;
TBLOBField (ADOQuery1.FieldByName ( 'myField')). LoadFromFile ( 'c: \ my.bmp');
ADOQuery1.Post;

Стандарт на всіх сайтах, але він теж не работает.Еслі не в лом підкажіть.