How to Store and Retrieve Image on SQLite/bg: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Български''' [[How_to_Store_and_Retrieve_Image_on_SQLite|English]] [[How_to_Store_and_Retrieve_an_Image_or_File_with_SQLite_Spanish|Español]] | {{Cleanup | reason=Auto-imported from ExpressionEngine.}} | ||
'''Български''' [[How_to_Store_and_Retrieve_Image_on_SQLite|English]] [[How_to_Store_and_Retrieve_an_Image_or_File_with_SQLite_Spanish|Español]] | |||
[[Category:HowTo]] | |||
[[Category:snippets]] | |||
= Как да съхраним и извлечем изображение или файл от SQLite = | = Как да съхраним и извлечем изображение или файл от SQLite = | ||
Изображенията | Изображенията могат да бъдат съхранявани в бази от данни. Един от начините да се направи това е като се изпълнят следните стъпки: | ||
1. Съдържанието на файла с изображението се прочита и записва в променлива от тип QByteArray | |||
2. Променливата от тип QByteArray се записва като двоичен обект (Binary Large Object) в базата от данни | |||
Пример: | |||
<code> | |||
QFile file(fileName); | |||
if (!file.open(QIODevice::ReadOnly)) return; | |||
QByteArray byteArray = file.readAll(); | |||
QSqlQuery query; | |||
query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)"); | |||
query.addBindValue(byteArray); | |||
query.exec(); | |||
</code> | |||
3. Изображението е вече налично в базата от данни и може да бъде извлечено чрез заявка от тип SELECT, както всеки друг тип данни: | |||
<code> | |||
QSqlQuery query("SELECT imgdata FROM imgtable"); | |||
query.next(); | |||
QByteArray array = query.value(0).toByteArray(); | |||
</code> | |||
4.Създаване на QPixmap от QByteArray: | |||
<code> | |||
QPixmap pixmap = QPixmap(); | |||
pixmap.loadFromData(array); | |||
</code> | |||
5. Променливата от тип Pixmap съдържа желаното изображение и може да бъде използвана за конкретните нужди на приложението, напр. като икона на бутон, изобразена чрез QLabel и т.н. |
Latest revision as of 16:55, 17 August 2017
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
Как да съхраним и извлечем изображение или файл от SQLite
Изображенията могат да бъдат съхранявани в бази от данни. Един от начините да се направи това е като се изпълнят следните стъпки:
1. Съдържанието на файла с изображението се прочита и записва в променлива от тип QByteArray
2. Променливата от тип QByteArray се записва като двоичен обект (Binary Large Object) в базата от данни
Пример:
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) return;
QByteArray byteArray = file.readAll();
QSqlQuery query;
query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");
query.addBindValue(byteArray);
query.exec();
3. Изображението е вече налично в базата от данни и може да бъде извлечено чрез заявка от тип SELECT, както всеки друг тип данни:
QSqlQuery query("SELECT imgdata FROM imgtable");
query.next();
QByteArray array = query.value(0).toByteArray();
4.Създаване на QPixmap от QByteArray:
QPixmap pixmap = QPixmap();
pixmap.loadFromData(array);
5. Променливата от тип Pixmap съдържа желаното изображение и може да бъде използвана за конкретните нужди на приложението, напр. като икона на бутон, изобразена чрез QLabel и т.н.