How to Store and Retrieve Image on SQLite: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:snippets]] | [[Category:snippets]] | ||
[[Category:HowTo]] | |||
'''English''' | [[How_to_Store_and_Retrieve_Image_on_SQLite_German|Deutsch]] | [[How_to_Store_and_Retrieve_an_Image_or_File_with_SQLite_Spanish|Español]] | [[How_to_Store_and_Retrieve_Image_on_SQLite_Bulgarian|Български]] | '''English''' | [[How_to_Store_and_Retrieve_Image_on_SQLite_German|Deutsch]] | [[How_to_Store_and_Retrieve_an_Image_or_File_with_SQLite_Spanish|Español]] | [[How_to_Store_and_Retrieve_Image_on_SQLite_Bulgarian|Български]] | ||
Line 7: | Line 8: | ||
Images or any files can be stored in a database. Here is one way to do it using the following steps: | Images or any files can be stored in a database. Here is one way to do it using the following steps: | ||
1. Read the system file into a QByteArray. | 1. Read the system file into a QByteArray. | ||
2. Store QByteArray as a Binary Large Object in database. | |||
For example : | For example : | ||
<code> | <code> | ||
QFile file(fileName); | |||
if (!file.open(QIODevice::ReadOnly)) return; | |||
QByteArray byteArray = file.readAll(); | |||
QSqlQuery query; | QSqlQuery query; | ||
query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)"); | |||
query.addBindValue(byteArray); | |||
query.exec(); | |||
</code> | |||
Now, the image/file can be retrieved like any other data | Now, the image/file can be retrieved like any other data | ||
<code> | |||
QSqlQuery query("SELECT imgdata FROM imgtable"); | |||
query.next(); | |||
QByteArray array = query.value(0).toByteArray(); | |||
</code> | |||
Creating a QPixmap from QByteArray : | Creating a QPixmap from QByteArray : | ||
<code> | |||
QPixmap pixmap = QPixmap(); | |||
pixmap.loadFromData(array); | |||
</code> | |||
It is done. Now the pixmap can be used in a Button as icon or in label etc. | It is done. Now the pixmap can be used in a Button as icon or in label etc. |
Revision as of 09:08, 25 February 2015
English | Deutsch | Español | Български
How to Store and Retrieve an Image or File with SQLite
Images or any files can be stored in a database. Here is one way to do it using the following steps:
1. Read the system file into a QByteArray. 2. Store QByteArray as a Binary Large Object in database.
For example :
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();
Now, the image/file can be retrieved like any other data
QSqlQuery query("SELECT imgdata FROM imgtable");
query.next();
QByteArray array = query.value(0).toByteArray();
Creating a QPixmap from QByteArray :
QPixmap pixmap = QPixmap();
pixmap.loadFromData(array);
It is done. Now the pixmap can be used in a Button as icon or in label etc.