Додавання картинок в бд, блог 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;
Стандарт на всіх сайтах, але він теж не работает.Еслі не в лом підкажіть.