![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Картинки в БД [D7, Paradox]
Rusl92 © (2008-01-23 15:45:00)Каким образом можно получать доступ к картинкам в БД, загружать их в БД???Помогите пожалуйста
ru1e3 (2008-04-11 09:32:00) [1]я просто предложил альтернативный вариант!
смысл хранить картинки в базе? - это лишь увеличивает размер...
ну всеравно сорри за оффтоп... )
Германн (2008-04-11 02:29:00) [2]
> ru1e3 (11.04.08 02:12) [9]
Ты несколько уклонился от "мейнстрим" сабжа. Хотя и я предпочитаю сей вариант.
ru1e3 (2008-04-11 02:12:00) [3]На конкретном примере с Access.
в таблицу добавляем значение 'fota' - текстовое - 255 символов.
//открываем
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then //открывается окно для выбора картинки
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); //при выборе картинки, отображается в Imege1
end;
end;
//сохраняем путь до картинки в таблицу "" поле 'fota'
procedure TForm1.Button2Click(Sender: TObject);
begin
namefoto:=ExtractFileName(OpenPictureDialog1.FileName); //переменая для имени фото
dirfoto:=ExtractFileDir(OpenPictureDialog1.FileName); //переменная для дирректории фото
ADOTable1.FieldByName('fota').AsString:=dirfoto+'\'+namefoto; //после выбора картинки сохраняет в таблицу путь к файлу
ADOTABLE1.Post; //сохраняет табличные данные
end;
//получить по пути к файлу картинку
у меня например один щелчок по строке в ДБГрдие
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Image1.Picture.LoadFromFile(DBEdit1.Text); //в DBEdit1 ранее сохранялся пусть до файла
end;
end.
Правильный_Вася (2008-01-24 11:30:00) [4]
> формат поля Grafic, как теперь поместить в БД картинку jpeg?
только для беемпешек
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1201091754&n=1
Rusl92 (2008-01-24 08:42:00) [5]я создаю таблицу с помощью Databasedeskop, ставлю формат поля Grafic, как теперь поместить в БД картинку jpeg?
Правильный_Вася (2008-01-23 16:29:00) [6]
> только для проверки работоспособности и все
это демо, а не тест
или ты не видишь разницы?
Sairex (2008-01-23 16:22:00) [7]Petr V. Abramov
Согласен, но там так только для проверки работоспособности и все.
Petr V. Abramov (2008-01-23 16:18:00) [8]с дельфой куча примеров идет
по-моему, папка demos.
Sairex (2008-01-23 16:00:00) [9]Вообщем я делаю следующее ставлю на форму TTabel которым подключаюсь к БД с картинками, затем на форме еще есть TDBLookupListBox (DBLB1), в котором показывается описание или название картинки. Вообщем для выбора.
Почему я использую такой подход?! Ввиду того что обычный DBImage не умеет масштабировать изображение. Вот и все.
Это для просмотра:
procedure TF1.DBLB1Click(Sender: TObject);
Var Tb:TBlobStream; TS:TStream;
begin
if F1.Tab1.Active then
Begin
try
Tb:=TBlobStream.Create((Tab1.FieldbyName('Graph') as TBlobField),bmread);
try
Image1.Picture.Bitmap.LoadFromStream(tb);
finally
Tb.Free;
end;
Finally
end; //try
End;
end;
Rusl92 (2008-01-23 15:54:00) [10]Расскажи подробнее
Sairex (2008-01-23 15:49:00) [11]TDBImage для отображения, а так я использую
TBlobStream и загружаю картинку в обычный TImage