Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2014, 23:07   #1
koudelka
Пользователь
 
Аватар для koudelka
 
Регистрация: 22.11.2013
Сообщений: 17
Вопрос Delphi. Загрузка фото в поле BLOB (IBQuery)

Всем привет, мучаюсь вторую неделю, решила просить помощи тут.
В общем, есть Удаленная БД, таблицы сделаны в IBConsol. Есть ФИО то да се, и поле BLOB для фото.
Как через кнопку загрузить фото в это поле и показать его соответственно в DBImage1 на форме.
Если раньше в локальной БД все работало вот так:

Код:
procedure TForm1.BitBtnADDPICTUREClick(Sender: TObject);  //кнопка добавить картинку
var Fname:string;
begin
if OpenPictureDialog1.Execute then begin
Fname := ExtractFilePath(Application.ExeName) + 'photo\' + ExtractFileName(OpenPictureDialog1.FileName); //указана папка, где хранятся фото 
DataModule2.Table2.Edit;
DataModule2.Table2Photo_Zdanija_ATC.LoadFromFile(Fname);
DataModule2.Table2.Post;
end;
end;
То сейчас мы работаем с Удаленной БД и вместо Table2 используем IBQuery2 (именно во второй таблице у меня поле BLOB).
Но есть одно НО, у меня ругается на

Код:
procedure TForm1.BitBtnADDPICTUREClick(Sender: TObject);
var Fname:string;
begin
if openpicturedialog1.Execute then
Fname := ExtractFilePath(Application.ExeName) + 'photo\' + ExtractFileName(OpenPictureDialog1.FileName);
DataModule2.IBQuery2.Edit;
DataModule2.IBQuery2РУГАЕТСЯТУТPhoto_Zdanija_ATC.LoadFromFile(Fname);  //ругается при соединении IBQuery2 и Photo_Zdanija_ATC, где Photo_Zdanija_ATC - название поля(столбца) BLOB
DataModule2.IBQuery2.Post;
end;
Подскажите, может кто знает - если я где-то ошиблась - укажите место, если нужен немного другой подход - как лучше сделать?

Последний раз редактировалось koudelka; 15.04.2014 в 23:12.
koudelka вне форума Ответить с цитированием
Старый 16.04.2014, 03:32   #2
koudelka
Пользователь
 
Аватар для koudelka
 
Регистрация: 22.11.2013
Сообщений: 17
По умолчанию

-----------------------------ОТВЕТ НАЙДЕН!------------------------------
Вспомнила, что в прошлом году делали.
Необходимо в компоненте IBQuery нужной нам таблицы с полем фото (в моем примере выше IBQuery2) правым кликом зайти в Fields editor ==> add all fields (добавить все поля). Тогда ошибку слитного написания IBQuery2Photo выдавать не будет.
Ну и поставить некоторые дополнительные компоненты ^^ и обязательно настроить Update.
Настройка кропотливая, поэтому если кому-то понадобится - пишите пм.

Последний раз редактировалось koudelka; 16.04.2014 в 03:37.
koudelka вне форума Ответить с цитированием
Старый 16.04.2014, 07:39   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно и по другому
Код:
TBlobField(DataModule2.IBQuery2.FieldByName('Photo_Zdanija_ATC')).LoadFromFile(Fname);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файла rtf в BLOB поле pirat2k Помощь студентам 4 18.12.2013 12:03
MySQL. Загрузка файла в blob-поле _SERGEYX_ БД в Delphi 0 16.02.2011 11:24
XML в BLOB поле через IBQuery SiNBizkit БД в Delphi 1 08.12.2010 17:52
Lookup поле в IBQuery - переполнение стека Yuran БД в Delphi 3 22.09.2010 12:16
загрузка сохранение изображения в blob поле Lokos БД в Delphi 1 24.02.2010 06:50