-
Каким образом можно получать доступ к картинкам в БД, загружать их в БД???Помогите пожалуйста
-
TDBImage для отображения, а так я использую
TBlobStream и загружаю картинку в обычный TImage
-
Расскажи подробнее
-
Вообщем я делаю следующее ставлю на форму 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;
-
с дельфой куча примеров идет
по-моему, папка demos.
-
Petr V. Abramov
Согласен, но там так только для проверки работоспособности и все.
-
> только для проверки работоспособности и все
это демо, а не тест
или ты не видишь разницы?
-
я создаю таблицу с помощью Databasedeskop, ставлю формат поля Grafic, как теперь поместить в БД картинку jpeg?
-
-
На конкретном примере с 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.
-
> ru1e3 (11.04.08 02:12) [9]
Ты несколько уклонился от "мейнстрим" сабжа. Хотя и я предпочитаю сей вариант.
-
я просто предложил альтернативный вариант!
смысл хранить картинки в базе? - это лишь увеличивает размер...
ну всеравно сорри за оффтоп... )