Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > как занести изображение из Image в базу данных |
Автор: Sofia56 15.8.2013, 22:01 | ||||
привет всем) помогите пожалуйста сделать курсовой!!! плиз... есть база (создана в парадоксе) в ней есть поле 'kart' в нем хранятся картинки. добавляю картинку сначало в Image
и тут возникает проблема..если все остально я заношу в базу так
то как сохранить картинку в базу я не знаю.подскажите пожалуйста буду очень признательна |
Автор: Poseidon 16.8.2013, 13:14 | ||||
Картинки нужно сохранять как BLOB поля, при этом, для большинства баз, сначала необходимо создать запись, а потом уже обновлением этой записи внести в нее картинку. На сколько я помню Table после Post остается на добавленной записи, поэтому тебе всего-лишь нужно опять открыть базу для обновления (Edit) и загнать туда картинку. Можно еще попробовать вот так:
или вот так
Все зависит от того, какая используется БД. |
Автор: Данкинг 16.8.2013, 17:59 | ||
|
Автор: Sofia56 16.8.2013, 18:01 |
к сожалению я понятия не имею что такое BLOB поля. поняла только что в них хранятся музыка, картинки и т.д.... Но что с ними делать я не знаю.как я поняла сначала их нужно создать,а потом объявить...а как это сделать????((( |
Автор: Данкинг 16.8.2013, 19:31 |
Вообще зачем хранить картинки в самой БД? Логичнее оставлять их обычными файлами на винте, а в таблицу вносить ссылки на эти файлы, при необходимости загружая или же открывая дефолтной программой. Да любые файлы... Где и зачем их объявлять? Средствами СУБД. |
Автор: Sofia56 16.8.2013, 22:42 |
программа выдает ошибку "необъявленный идентификатор: 'TBlobField'" так как тогда быть нужно TBlobField объявлять или нет? |
Автор: Sofia56 16.8.2013, 23:06 | ||
пробовала так делать но тогда ругается на SaveToBlob |
Автор: Данкинг 16.8.2013, 23:30 | ||
Где именно? А процедура SaveToBlob где объявлена? |
Автор: Sofia56 16.8.2013, 23:40 |
заранее знаю что спрошу глупость но где ее объявлять? |
Автор: Чучмек 17.8.2013, 04:01 | ||||||
Вот простейший пример. Таблица: img_table.db
На форме Table1: TTable; DataSource1: TDataSource; DBGrid1: TDBGrid; DBImage1: TDBImage; Button1: TButton; Установки Table1.TableName = img_table.db; Table1.Active = true; DataSource1.DataSet = Table1; DBGrid1.DataSource = DataSource1; DBImage1.DataSource = DataSource1; DBImage1.DataField = Img; По нажатию кнопки "Добавить" (Button1) открывается диалоговое окно выбора файла.
Все. |
Автор: Данкинг 17.8.2013, 10:31 |
В программе. ![]() Кстати, какая СУБД всё же? |
Автор: Larry9 24.1.2014, 09:35 |
ИМХО выше ответили всё верно, не надо пихать мультимедиа файлы в поля БД. Лучше создать ссылки на файлы, а сами файлы хранить отдельно. Иначе, если возникнет необходимость переноса БД на другой движок, наверняка замучаетесь с изменениями структуры. |
Автор: Агрох 24.1.2014, 11:45 |
Советы давали как разработчику ПО. А тут надо всего то сделать курсач. У курсача, в отличии от разработки ПО, есть чёткая задача - научиться делать что либо конкретным способом, а не делать то же самое, но самым лучшим образом. |