Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/39: Рейтинг темы: голосов - 39, средняя оценка - 4.56
 Аватар для =AleXsei=
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 40

Как вставить фото в таблицу?

24.06.2012, 19:39. Показов 7521. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблица с полем "Foto" с типом данных "Graphic" Собственно как туда вставить это фото, чтобы на форме отображалось оно.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.06.2012, 19:39
Ответы с готовыми решениями:

как вставить фото
как вставить в мемо фото скажите плиз или в листбокс Спасибо за внимание

Как вставить фото со своего пк через ip?
Точнее как узнать свой ip(дин.), а потом вставить через него рисунок, допустим как-то так оно должно быть: <IMG...

как вставить фото в отчетах написанных на C#
как вставить фото в отчетах написанных на C#? Я создал отчет на Stimulsoft. Но в моем отчете есть фото!как мне вставить фото в мой...

16
 Аватар для CHARMED
89 / 70 / 9
Регистрация: 04.03.2012
Сообщений: 206
24.06.2012, 20:04
таблица Access?

Держи исходник(все работает)(не мой - в инете нашел), изучай, что будет не понятно пиши - распишу....
Вложения
Тип файла: zip Access_Images.zip (1.01 Мб, 458 просмотров)
3
 Аватар для =AleXsei=
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 40
25.06.2012, 00:29  [ТС]
Цитата Сообщение от CHARMED Посмотреть сообщение
таблица Access?

Держи исходник(все работает)(не мой - в инете нашел), изучай, что будет не понятно пиши - распишу....
О нет, тут я вообще ничего не пойму, просто даже в стандартной таблицы там уже есть фото без всякого кода как бы.
0
 Аватар для CHARMED
89 / 70 / 9
Регистрация: 04.03.2012
Сообщений: 206
25.06.2012, 09:42
Что за таблица, скидывай суда...
0
 Аватар для =AleXsei=
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 40
25.06.2012, 10:56  [ТС]
Цитата Сообщение от CHARMED Посмотреть сообщение
Что за таблица, скидывай суда...
Вот мой проект учебный Ссылка который мы делали на практики, запусти программу, сверху меню формы-Сотрудники МНТ - откроется новая форма и снизу должна быть фотка короче. вот что мне сделать чтобы она там была.

В стандартной табилце biolife там эти фотки уже присутствуют, т.е. они сохранены там уже. вот мне тоже также надо... читал какие то лекция там была написано что фотку можно вставить из буфера обмена D неполучилось...
0
 Аватар для CHARMED
89 / 70 / 9
Регистрация: 04.03.2012
Сообщений: 206
25.06.2012, 11:02
На форму DBImage1 Свойство - параметр
DataSource - DataSource1
Datafield - имя поля где расположены картинки...(там выбор будет)
0
 Аватар для =AleXsei=
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 40
25.06.2012, 11:19  [ТС]
Цитата Сообщение от CHARMED Посмотреть сообщение
На форму DBImage1 Свойство - параметр
DataSource - DataSource1
Datafield - имя поля где расположены картинки...(там выбор будет)
Ну это понятно а как мне самому туда фото занести...

Добавлено через 4 минуты
Слушай, еще вопрос не по теме. Вот я тебе скинул этот проект там у меня как бы два фильтра есть, один по имени - это тот который вчера мы обсуждали и еще один есть по отделу "радиобатон"
Вот смотри суть, я сначало выбираю из комбобокса отдел потом жму радиобатон "Отдел" и он мне ничего не показывает. Но если я сначала отфильтрую по фамилии и потом по отделу то все нормально. в чем проблема там?
0
 Аватар для CHARMED
89 / 70 / 9
Регистрация: 04.03.2012
Сообщений: 206
25.06.2012, 14:32
Цитата Сообщение от =AleXsei= Посмотреть сообщение
Ну это понятно а как мне самому туда фото занести...
ВЫ сначала это сделайте и посмотрите результат

p.s. а чтобы самому - изучайте исходник...
0
 Аватар для =AleXsei=
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 40
26.06.2012, 15:37  [ТС]
Цитата Сообщение от CHARMED Посмотреть сообщение
ВЫ сначала это сделайте и посмотрите результат

p.s. а чтобы самому - изучайте исходник...
Я непонимаю этот исходник=\ мне просто надо занести картинку в мою базу и сохранить

Добавлено через 21 час 13 минут
Ну в общем я так и непонял=\ я в DBImage вставил фотку умудрился как то через опендиалог сделать, но в базе она не сохранилась=\
0
 Аватар для CHARMED
89 / 70 / 9
Регистрация: 04.03.2012
Сообщений: 206
26.06.2012, 17:03
БАЗА ДАННЫХ ТОЛЬКО ACCESS.
1. На форме: DataSource1, ADOQuery1, Image1 , OPenPictureDialog1, 3 кнопки - Button1-2-3
2. OPenPictureDialog1 - Свойство - параметр
Name - dlgOpenPicture
Filter - JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg|Bitmaps (*.bmp)|*.bmp
ADOQuery1 - Свойство - параметр
Cursortype - ctStatic
Connection -ADOConnection1
SQL - select * from НАЗВАНИЕ_ВАШЕЙ_ТАБЛИЦЫ
DataSource1 - Свойство - параметр
Dataset - ADOQuery1
3. Button1 - Свойство - параметр
Caption - Добавить
Button2 - Свойство - параметр
Caption - Редактировать
Button3 - Свойство - параметр
Caption - Удалить
4. Кодинг......
Добавить в раздел
Delphi
1
Uses .... Clipbrd, JPEG;
Добавить в раздел type
Delphi
1
2
3
type
TGraphType = (gtBitmap, gtIcon, gtMetafile, gtJpeg);
  TForm1 = class(TForm)
ADOQuery

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet); //Для отображения фото в Image1
//из таблицы
var
  Stream: TMemoryStream;
  Jpg: TJpegImage;
  GraphType: TGraphType;
begin
  Jpg := nil;
  Stream := nil;
  try
    Stream := TMemoryStream.Create;
    TBlobField(ADOQuery1.FieldByName('image_i')).SaveToStream(Stream); //Замени 'image_i' на имя поля 
//где расположены фото
    if Stream.Size > 0 then
    begin
      Stream.Position := 0;
      Stream.Read(GraphType, 1);
      case GraphType of
        gtBitmap:   Image1.Picture.Bitmap.LoadFromStream(Stream);
        gtIcon:     Image1.Picture.Icon.LoadFromStream(Stream);
        gtMetafile: Image1.Picture.Metafile.LoadFromStream(Stream);
        gtJpeg:
        begin
          Jpg := TJpegImage.Create;
          Jpg.LoadFromStream(Stream);
          Image1.Picture.Assign(Jpg);
        end
        else
          Image1.Picture.Assign(nil);  // Clear the image
      end;
    end
    else
      Image1.Picture.Assign(nil);
  except
    Image1.Picture.Assign(nil);
  end;
  jpg.Free;
  Stream.Free;
end;
Процедура Добавления фото в базу:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
procedure TForm1.Button1Click(Sender: TObject);
var
  Jpg: TJpegImage;
  Stream: TMemoryStream;
  FileExt: string;
  GraphType: TGraphType;
begin
  if dlgOpenPicture.Execute then
  begin
    Jpg := nil;
    Stream := nil;
    try
    Stream := TMemoryStream.Create;
    FileExt := LowerCase(ExtractFileExt(dlgOpenPicture.FileName));
    if (FileExt = '.bmp') or (FileExt = '.dib') then
    begin
      GraphType := gtBitmap;
      Stream.Write(GraphType, 1);
      with Image1.Picture.Bitmap do
      begin
        LoadFromFile(dlgOpenPicture.FileName);
        Image1.Picture.Bitmap.SaveToStream(Stream);
      end;
    end
    else
    if (FileExt = '.ico') then
    begin
      GraphType := gtIcon;
      Stream.Write(GraphType, 1);
      with Image1.Picture.Icon do
      begin
        LoadFromFile(dlgOpenPicture.FileName);
        Image1.Picture.Bitmap.SaveToStream(Stream);
      end;
    end
    else
    if (FileExt = '.emf') or (FileExt = '.wmf') then
    begin
      GraphType := gtMetafile;
      Stream.Write(GraphType, 1);
      with Image1.Picture.Metafile do
      begin
        LoadFromFile(dlgOpenPicture.FileName);
        Image1.Picture.Bitmap.SaveToStream(Stream);
      end;
    end
    else
    if (FileExt = '.jpg') or (FileExt = '.jpeg') or (FileExt = '.jpe') then
    begin
      Jpg := TJpegImage.Create;
      Jpg.LoadFromFile(dlgOpenPicture.FileName);
      Image1.Picture.Assign(Jpg);
      GraphType := gtJpeg;
      Stream.Write(GraphType, 1);
      Jpg.SaveToStream(Stream);
    end;
    if (ADOQuery1.State <> dsEdit) and (ADOQuery1.State <> dsInsert) then
    ADOQuery1.Insert;
    ADOQuery1.FieldByName('name_i').AsString := ExtractFileName(dlgOpenPicture.FileName); //Замени  
//'name_i' на имя поля где расположены название фото
    Stream.Position := 0;
    TBlobField(ADOQuery1.FieldByName('image_i')).LoadFromStream(Stream); //Замени  
//'image_i' на имя поля где расположены фото
    ADOQuery1.Post;
  except
    jpg.Free;
    Stream.Free;
    raise;
  end;
    jpg.Free;
    Stream.Free;
    ADOQuery1.AfterScroll(ADOQuery1);
  end;
end;
Процедура Замены фото в базе на другую:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
procedure TForm1.Button2Click(Sender: TObject);
var
  Jpg: TJpegImage;
  Stream: TMemoryStream;
  FileExt: string;
  GraphType: TGraphType;
begin
  if dlgOpenPicture.Execute then
  begin
    Jpg := nil;
    Stream := nil;
    try
    Stream := TMemoryStream.Create;
    FileExt := LowerCase(ExtractFileExt(dlgOpenPicture.FileName));
    if (FileExt = '.bmp') or (FileExt = '.dib') then
    begin
      GraphType := gtBitmap;
      Stream.Write(GraphType, 1);
      with Image1.Picture.Bitmap do
      begin
        LoadFromFile(dlgOpenPicture.FileName);
        Image1.Picture.Bitmap.SaveToStream(Stream);
      end;
    end
    else
    if (FileExt = '.ico') then
    begin
      GraphType := gtIcon;
      Stream.Write(GraphType, 1);
      with Image1.Picture.Icon do
      begin
        LoadFromFile(dlgOpenPicture.FileName);
        Image1.Picture.Bitmap.SaveToStream(Stream);
      end;
    end
    else
    if (FileExt = '.emf') or (FileExt = '.wmf') then
    begin
      GraphType := gtMetafile;
      Stream.Write(GraphType, 1);
      with Image1.Picture.Metafile do
      begin
        LoadFromFile(dlgOpenPicture.FileName);
        Image1.Picture.Bitmap.SaveToStream(Stream);
      end;
    end
    else
    if (FileExt = '.jpg') or (FileExt = '.jpeg') or (FileExt = '.jpe') then
    begin
      Jpg := TJpegImage.Create;
      Jpg.LoadFromFile(dlgOpenPicture.FileName);
      Image1.Picture.Assign(Jpg);
      GraphType := gtJpeg;
      Stream.Write(GraphType, 1);
      Jpg.SaveToStream(Stream);
    end;
    if (ADOQuery1.State <> dsEdit) and (ADOQuery1.State <> dsInsert) then
    ADOQuery1.Edit;
    ADOQuery1.FieldByName('name_i').AsString := ExtractFileName(dlgOpenPicture.FileName); //Замени  
//'name_i' на имя поля где расположены название фото
    Stream.Position := 0;
    TBlobField(ADOQuery1.FieldByName('image_i')).LoadFromStream(Stream);//Замени  
//'image_i' на имя поля где расположены фото
    ADOQuery1.Post;
  except
    jpg.Free;
    Stream.Free;
    raise;
  end;
    jpg.Free;
    Stream.Free;
    ADOQuery1.AfterScroll(ADOQuery1);
  end;
end;
ВАЖНО: в БАЗЕ должно быть два поля: 1. Имя_поля - тип данных - Текстовый
2. Имя_поля - тип данных - Поле объекта OLE
БАЗА - базу данных придется переделать в Access.
1
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 3
14.02.2018, 19:33
Всем привет, тема помогла, но как сделать так чтобы показать картинку сразу в нескольких TImage?
0
5962 / 4538 / 1094
Регистрация: 29.08.2013
Сообщений: 28,148
Записей в блоге: 3
15.02.2018, 16:06
Цитата Сообщение от HushNk Посмотреть сообщение
как сделать так чтобы показать картинку сразу в нескольких TImage?
1 картинку растянуть на несколько
или продублировать несколько раз?
0
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 3
15.02.2018, 16:10
Спасибо за ответ, разобрался как вывести несколько раз)
остался только один вопрос, у меня в БД к одной записи нужно прикрепить два разных фото.
На данный момент когда я прикрепляю вторую фото - оно сразу создает новую запись и туда загружает фото, в Итоге получается что я не могу закрепить одновременно сразу две фото на одну запись( я не понял какую часть кода нужно отредактировать в примере который выложили выше
0
5962 / 4538 / 1094
Регистрация: 29.08.2013
Сообщений: 28,148
Записей в блоге: 3
15.02.2018, 17:13
Цитата Сообщение от HushNk Посмотреть сообщение
остался только один вопрос, у меня в БД к одной записи нужно прикрепить два разных фото.
так нельзя сделать

вернее
или ты 2 фото соединяешь в одно
или грузишь в 2 разные строки в БД
0
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 3
15.02.2018, 17:18
Цитата Сообщение от qwertehok Посмотреть сообщение
так нельзя сделать
вернее
или ты 2 фото соединяешь в одно
или грузишь в 2 разные строки в БД
то есть если я добавлю в бд еще столбцы "image2" и "name2" ничего не получится?(.
правильнее будет чтобы в одной записи Бд было "Имя" и "Два фото", ничего соединять не надо
0
5962 / 4538 / 1094
Регистрация: 29.08.2013
Сообщений: 28,148
Записей в блоге: 3
15.02.2018, 19:05
Цитата Сообщение от HushNk Посмотреть сообщение
то есть если я добавлю в бд еще столбцы "image2" и "name2" ничего не получится?
не так
у тебя должно быть поле Name и поля Image1 и Image2

два фото вставить нельзя
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,366
Записей в блоге: 3
16.02.2018, 05:48
Цитата Сообщение от qwertehok Посмотреть сообщение
два фото вставить нельзя
Маленькое уточнение: два фото в одно поле БД...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.02.2018, 05:48
Помогаю со студенческими работами здесь

Как вставить фото в слайдер,чтоб не растягивалось?
Добрый день! подскажите как вставить фотки в слайдер, слайдер свтроенный в тему и есть еще revolution slider,результат один и тот же,купили...

Delphi, ADO- Как вставить и сохранить фото (Jpeg) в базу данных
Ни где не могу найти конкретного ответа : Как всавить и сохранить в базу данных ADO Access фото (Jpeg).BMP без проблем, а вот peg не...

Как вывести из базы данные в таблицу в виде зебры(см.фото)
Здравствуйте,помогите сделать так,что бы из данные из базы выводились в таблицу в виде зебры,что бы чередовался белый с серым

Как в ячейку вставить таблицу?
Есть у меня таблица (см. скриншот). А как ее скопировать и вставить целиком таблицу в ячейку?)

Как вставить таблицу по ссылке?
мож не совсем коректный вопрос но всё же... есть около 10-ти таблиц по 800 строк каждая если я их вставлю через &lt;table&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru