Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2008, 22:37
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
Вопрос dbGrid и фотографии

Помогите разобраться очень нужно, ситуация такая, есть база на Access, использую ADO, нужно что бы из DBgrida при запросе или клику определеного значения, выводилось фото(привязаному значение ФИО) в Timage или DBImage
Ответить с цитированием
  #2  
Старый 13.10.2008, 01:17
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Код:
procedure TForm8.DBGrid1DblClick(Sender: TObject);
begin
Jpg:=TJPegImage.Create;
Jpg.Assign(DBGrid1.Columns.Items[4].Field);
Form9.Image1.Picture.assign(jpg);
Form9.Memo2.Text:=DBGrid1.Columns.Items[5].Field.AsString;
Form9.Show;
end;
Ответить с цитированием
  #3  
Старый 13.10.2008, 01:54
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

а можно подробней для чайников, или если не сложно исходник скинуть
Ответить с цитированием
  #4  
Старый 13.10.2008, 12:08
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Исходник врядли, это мой проэкт, он большой
Объясняю:
Изображения с расширениме jpg храняться в таблице, в таблице
6 столбцов
придположим структура таблицы: imya,familiya,otchestvo,foto!
Код:
procedure TForm8.DBGrid1DblClick(Sender: TObject);
//допустим таблица уже выведена в DBGrid1, и я вижу все записи таблицы, делаю двойной клик на нужной мне записи
и мне надо вывести эту запись на одтельные компоненты (допустим Label)
Label1.Caption:=DBGrid1.Columns.Items[0].Field.AsString;//получил имя из выделенной записи
Label2.Caption:=DBGrid1.Columns.Items[1].Field.AsString;//получил фамилию
Label3.Caption:=DBGrid1.Columns.Items[2].Field.AsString;// получил отчество
//счас буду выводить фото выбранного человека
//начинаю работаь с jpg
Jpg:=TJPegImage.Create;
Jpg.Assign(DBGrid1.Columns.Items[3].Field);//получил доступ к фото человека
Image1.Picture.assign(jpg);//вывел его фото в компонент Image1
вот и все
номерация в базе идет с нуля!
в БДГрид надо добавить все имя полей, которые ты будешь использовать
не нужные просто скрываешь и все
Ответить с цитированием
  #5  
Старый 13.10.2008, 15:32
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

ругаеться на это
Код:
Jpg:=TJPegImage.Create;
Ответить с цитированием
  #6  
Старый 13.10.2008, 15:46
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

в uses добавь JPeg
Ответить с цитированием
  #7  
Старый 13.10.2008, 16:01
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

у меня bmp, все нормально компилирует, только при выборе ячейки, вылетает ошибка "class ElnvalidGraphic with message Bitmap.image is not valid"

Код:
var
B: TBitmap;
begin
B:= TBitmap.Create;
B.Assign(DBGrid1.Columns.Items[1].Field);
Image19.Picture.assign(b);
B.Free
Ответить с цитированием
  #8  
Старый 13.10.2008, 16:32
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Я тебе написал пример для работы с JPG! BMP держать не выгодно, их размер не радует, попробуй с JPG сложности не возникнит перевести формат
Ответить с цитированием
  #9  
Старый 13.10.2008, 17:03
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

опять ошибка, может что то в таблице, у меня поле для фото "Поле объекта OLE" и как через форму можно добавлять фото в поле? ошибка "jpeg #53"

Последний раз редактировалось жекаизжека, 13.10.2008 в 17:11.
Ответить с цитированием
  #10  
Старый 13.10.2008, 17:39
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

эм.. мой пример прекрастно работает с таблицами mysql тип поля BLOB
Добавление через форму
Код:
Name:=Edit1.Text;
ZQuery1.SQL.Clear;
ZQuery1.SQL.Text:= 'UPDATE sotrudniki SET foto=(:blobdata) WHERE imya="'+name+'"';// сдесь обновляешь поля тому кому добавляешь, в моем случаи у меня были уникальные ИД для каждого случая
ZQuery1.ParamByName('Blobdata').LoadFromFile(Edit2.Text,ftBlob);
ZQuery1.ExecSQL;

Последний раз редактировалось ApxaHGe1, 13.10.2008 в 17:42.
Ответить с цитированием
  #11  
Старый 13.10.2008, 18:18
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

Вот мой кусок кода
Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
Jpg: TJPEGImage;
begin
   Label9.Caption:=DBGrid1.Columns.Items[0].Field.AsString;
   Jpg:=TJPegImage.Create;
jpg.Assign(DBGrid1.Columns.Items[1].Field);
Image19.Picture.assign(jpg);
Jpg.Free
   end;

При выборе вылетает ошибку #42 если есть фото то вытелетает ошибка #53, сам не могу разобраться (((
Ответить с цитированием
  #12  
Старый 13.10.2008, 21:57
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
Jpg: TJPEGImage;
begin
   Label9.Caption:=DBGrid1.Columns.Items[0].Field.AsString;
Jpg:=TJPegImage.Create;
jpg.Assign(DBGrid1.Columns.Items[1].Field);
Image19.Picture.assign(jpg);
   end;

Вот так пробуй, хотя странно, у меня ошибок нету))
Если уж не поможет могу написать пример, только скажи какую базу используешь
Ответить с цитированием
  #13  
Старый 13.10.2008, 22:27
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

Access, если сможешь покажи на примере форму добавления, если не сложно, просто у меня на этом работа встала (
Ответить с цитированием
  #14  
Старый 13.10.2008, 22:55
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Жди счас сделаю и выложу
Ответить с цитированием
  #15  
Старый 13.10.2008, 23:25
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

жду конечно
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter