Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi. Загрузка фото в поле BLOB (IBQuery) [D7]


Надежда ©   (2014-04-15 23:19:00) 

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

[CODE]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;[/CODE]

То сейчас мы работаем с [B][I][U]Удаленной БД[/U][/I][/B] и вместо Table2 используем [B]IBQuery2[/B] (именно во второй таблице у меня поле BLOB).
Но есть одно НО, у меня ругается на

[CODE]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[B][COLOR="Red"]РУГАЕТСЯТУТ[/COLOR][/B]Photo_Zdanija_ATC.LoadFromFile(Fname);  //ругается при соединении IBQuery2 и Photo_Zdanija_ATC, где Photo_Zdanija_ATC - название поля(столбца) BLOB
DataModule2.IBQuery2.Post;
end;[/CODE]

Подскажите, может кто знает - если я где-то ошиблась - укажите место, если нужен немного другой подход - как лучше сделать?


Надежда   (2014-04-15 23:24:00) [1]

извините, с редактором беда. вот без него:
-----------------------------------------------------------------
Всем привет, мучаюсь вторую неделю, решила просить помощи тут.
В общем, есть Удаленная БД, таблицы сделаны в 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;

Подскажите, может кто знает - если я где-то ошиблась - укажите место, если нужен немного другой подход - как лучше сделать? Dennis I. Komarov © Сильно сомнительно, в плане обращения к полю... Плохиш ©
> ругается при соединении IBQuery2 и Photo_Zdanija_ATC, где
> Photo_Zdanija_ATC - название поля(столбца) BLOB

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

DataModule2.IBQuery2.FieldByName('<ИМЯ_ПОЛЯ>')


Dennis I. Komarov   (2014-04-15 23:22:00) [2]

Ну что за нелепый Copy-Paste???


Наверх

Титульная страница Поиск, карта сайта Написать письмо