Russian Qt Forum
Октябрь 02, 2024, 13:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Отображение изображения в отчете NCReport  (Прочитано 3712 раз)
daenux
Гость
« : Февраль 09, 2011, 06:32 »

Добрый день, у меня в базе данных PostgreSQL, в поле типа BYTEA лежат изображения (фотографии студентов), как их выводить в отчет с помоющью SQL Data Source?

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

Спасибо! Улыбающийся
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 09, 2011, 08:16 »

Загрузи в QByteArray и сделай image.loadFromData (array)
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
daenux
Гость
« Ответ #2 : Февраль 09, 2011, 09:24 »

Аха, отказываеться поле bytea пустое, т.е. не происходит запись, проверьте пожалуйста - так записываем:

Код:
// Создание и установление связи между объектами
QByteArray *qByteArray = new QByteArray();
QBuffer *qBuffer = new QBuffer(qByteArray, this);
QDataStream *qDataStream = new QDataStream(qBuffer);

qDebug() << qByteArray->count(); // Выводиться 0
if (qImage.byteCount != 0)
{ // Заходит в этот блок
  qBuffer->open(QIODevice::WriteOnly);
  qImage.save(qDataStream->device);
  qBuffer->close();
}
qDebug() << qByteArray->count(); // Выводиться 0
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Февраль 09, 2011, 10:03 »

Ну посмотри же ты пример в ассистенте, там все просто:
Код
C++ (Qt)
QImage image;
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);
image.save(&buffer, "PNG"); // writes image into ba in PNG format
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.062 секунд. Запросов: 23.