Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBImage загрузить, сохранить BMP в БД 
:(
    Опции темы
Alca
Дата 14.7.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 1
Всего: 50



Есть Paradox 7, Builder С++ 6.0  smile  smile 


--------------------
PM WWW ICQ Skype Jabber   Вверх
jonie
Дата 16.7.2007, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 4
Всего: 118



значится так  (проведя изыскания небольшие)
1) БДЕ устарело, юзай ADO 8)
2) ну если хочется БДЕ то юзай бде...
3) 
 0. создаем БД, прописываем ее в системе через BDE Administrator. Тип данных у таблицы Graphic.
 1. бросаем TQuery и баттон на форму.
 2. Выставляем в TQuery параметры : 
 а) SQL в "SELECT Myimage FROM base" где Myimage - имя поля нашего, base- имя таблицы (например, не хуже будет завпрос select *..)
 б) выбираем ранее зарегиный алиас БД (поле database)
 в) ставим RequestLive в true
 г) давим Active в true

4) дважды тыкаем на TQuery и добавляем поле (Field) наше (myimage) в список (правой на окошке -> Add Field)
5) дважды тыкаем на баттоне что лежит на форме.
6) дописываем код :
Код

 Query1->Append();
 Query1Myimage->LoadFromFile("C:\\1.bmp");
 Query1->Post();

7)бросаем на форму TDBImage и TdataSource 
8)выбираем в TDataSource  DataSet в наш Query1 (что уже лежит на форме см. п. 3.1)
9)устанавливаем свойства TDbImage :
 0. datasource -> наш DataSource1 
 1. datafield -> наш myimage

стартуем. Давим баттон. Радуемся?)

пример : имя зарегиной БД у меня - mybase.
Т.е. надо открыть БДЕ администратор. добавить mybase и выбрать директорию с base.db

ссыл на пример : http://e-jonie.narod.ru/tmp/pdb.rar



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
yours-tester
Дата 18.7.2007, 06:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



PM MAIL   Вверх
yours-tester
Дата 20.7.2007, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



Microsof Visual C++ 6.0, ADO

Как засовывать image из файла в поле базы данных и обратно там хорошо рассказано.

А я вот ищу способ как Image из поля базы данных поместить в CBitmap или HBITMAP,
чтобы можно было его использовать в качестве иконки для CListControl...

Пока умею только загружать изображение HBITMAP из файла или из ресурсов, а надо из поля базы данных, без создания промежуточных файлов

Может кто знает путь?
PM MAIL   Вверх
yours-tester
Дата 21.7.2007, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



Уфф ... целый день ушел на исследования нашелся способ как из буфер в памяти
куда будет занесен файл *.bmp превратить в BITMAP и назначить объекту CStatic.
Правда пришлось воспользоваться библиотекой ImageStone с CodeProject.
Если кто знает как это сделать без ImageStone, а с помощью родных для Windows средств
буду благодарен за подсказку

Код

    // Load image into memory - это пока из файла для тестирования, а потом будет из базы данных
    char   * p = 0 ; // буфер
    int    n = 0 ;
    FCOXOHelper::LoadFileToBuffer ("test.bmp", p, n) ;
    
    
    FCObjImage   img ;
   // Load image from memory
    img.Load (reinterpret_cast<unsigned char *>(p), n, IMG_BMP) ;
    
    // Create BITMAP
    HBITMAP   hDDB = FCWin32::CreateDDBHandle(img) ;

    m_Pict2.SetBitmap(hDDB); // m_Pict2 - это CStatic на форме диалога типа SS_BITMAP   
    m_Pict2.ShowWindow(SW_SHOW);

    delete[] p ;

    // this line demonstrate how to determine image's format by file's ext name
    IMAGE_TYPE  t = FCObjImage::GetImageHandleFactory()->QueryImageFileType("test.jpg");



Это сообщение отредактировал(а) yours-tester - 21.7.2007, 09:17
PM MAIL   Вверх
Alca
Дата 24.7.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 1
Всего: 50



Как изображение (с БД) запихнуть в Image1?


--------------------
PM WWW ICQ Skype Jabber   Вверх
jonie
Дата 24.7.2007, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 4
Всего: 118



чем плох TDbImage ?
для примера что я привел можно, например сделать
Код

Image1->Picture->Assign( Query1Myimage);


Это сообщение отредактировал(а) jonie - 24.7.2007, 23:50


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Alca
Дата 25.7.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 1
Всего: 50



Как Image1 запихнуть в БД

Код

Query1Photo->Assign(Image1->Picture);


Добавлено @ 20:53
Как Edit1 запихнуть в БД?

Это сообщение отредактировал(а) Alca - 25.7.2007, 20:54


--------------------
PM WWW ICQ Skype Jabber   Вверх
jonie
Дата 26.7.2007, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 4
Всего: 118



да вы вообще обленились.
Edit1 это ЧТО?! Это объект конкретного класса TEdit ? Запихать объект никуда нельзя... можно текст запихать...
Код

INSERT INTO tabname(fieldname) VALUES('edit1.text')
пихать в TAdoQuery (или иной Query какой вы там предпочитаете)?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Morfi
  Дата 7.6.2008, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.6.2008

Репутация: нет
Всего: нет



У меня проблема я не могу сохранить и отобразить изображение в БД
в качестве БД использую Access 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0884 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.