![]() |
|
![]() ![]() ![]() |
|
CuteBunny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
Привет, всем!
Искал в нете, ничего не нашел, про то, как в sqlite, средствами qt4.3 вставлять данные в поля типа blob и как их потом вытаскивать в нужном виде, к примеру в виде QPixmap'а? Может, кто-нибудь знает? Спасибо, заранее. |
|||
|
||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Так пробывал ?
Или так ?
|
||||
|
|||||
Elfebet |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
из базы в лейбел
из лейбла в базу
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
||||
|
|||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Эта строчка улыбнула
![]()
Почему не так ?
Судя по докам к QPixmap у него перегружен оператор QVariant(), т.е. он может быть кастанут в QVariant и прямое преобразование через QByteArray не требуется. Это сообщение отредактировал(а) SABROG - 13.5.2008, 10:30 |
||||
|
|||||
CuteBunny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
Спасибо, всем! Правда с БД работаю через индексы и модели. Но... Наткнулся на проблему...
Картинки загружаются в БД 100%, смотрел через SQLite Manager, содержимое поля типа blob заполнилось кучей иероглифов. Теперь вытащить их из БД не получается... Я юзаю Visual Studio EE 2003, провел дебаг, установил watch перед *pBytes=eModel->index(ui.employeesTableView->currentIndex().row(), 8, QModelIndex()).data().toByteArray(); туда заносится тоже самое, однако, при попытке loadFromData(*pBytes); всегда возвращает false??? Я не знаю, что за проблема, но в нете поискал, там у одного чела таже проблема, он юзал Qt4.2, у него похожая проблема, только в linux'е все работает, а в винде нет... |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А попробуй из указателя *pBytes запиши содержимое в новый .png файл и открой любым просмотрщиком фоток. Может в базу мусор попадает какой...
|
|||
|
||||
CuteBunny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
Там все что угодно, но не изображение, значит в бд реально мусор идет,
здесь что-то нетак??? |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А в photo точно есть что-то ? Попробуй на форму кинуть QLabel и вызвать setPixmap со своим файлом.
|
|||
|
||||
CuteBunny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
да там, то есть, я перед тем как в бд заносить, предварительный просмотр устроил, ну и там photo показываю
![]() %PNG -> IHDR ... и т.д. - это то, что фар показывает, а то, что в *pBytes - только %PNG-> ![]() Добавлено через 6 минут и 2 секунды
странно, но так photo1 отображается и нормально, только этот код в другом месте? есть ли связь? |
|||
|
||||
CuteBunny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
Возможно, что это из-за Sqlite'а? http://sb-news.net/sqlite.php?page=6
Хотя, не похоже, SQlite Manager отображает изменения в бд? Добавлено через 8 минут и 25 секунд
ЧЗАН ![]() ![]() ![]() |
|||
|
||||
Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
мистика.
Приведи полный пример своего кода + покажи струткуру своей таблицы. где-то наверное ошибка в другом месте. -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Набросал тестовый пример, все сохраняется в базу, оттуда берется и загружается на форму. По крайней мере я убедился, что BLOB'ы работают.
P.S.: файлик image.png не забыть скопировать в папку с .exeшником. Присоединённый файл ( Кол-во скачиваний: 146 ) ![]() |
|||
|
||||
CuteBunny |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
loadPhotoDialog.h
loadPhotoDialog.cpp
database.h
Добавлено через 2 минуты Сейчас попробую код SABROG'a |
||||||
|
|||||||
CuteBunny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
ПРОГА SABROG'A РАБОТАЕТ
![]() Значит руки у меня не из того места... хЗ? |
|||
|
||||
CuteBunny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
Вот только, что написал прогу, часть к моей... Все работает...
![]() ![]() ![]() Присоединённый файл ( Кол-во скачиваний: 94 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |