How to Store and Retrieve Image on SQLite: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
'''English''' [[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_an_Image_or_File_with_SQLite_Spanish|Español]] [[How_to_Store_and_Retrieve_Image_on_SQLite_Bulgarian|Български]]<br />[[Category:HowTo]]<br />[[Category:snippets]]


=How to Store and Retrieve an Image or File with <span class="caps">SQL</span>ite=
= 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:
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.<br /> 2. Store QByteArray as a Binary Large Object in database.
1. Read the system file into a QByteArray.<br />2. Store QByteArray as a Binary Large Object in database.


For example :
For example :


Now, the image/file can be retrieved like any other data<br />
<code><br /> QFile file&amp;amp;#40;fileName&amp;amp;#41;;<br /> if (!file.open(QIODevice::ReadOnly)) return;<br /> QByteArray byteArray = file.readAll();


Creating a QPixmap from QByteArray :<br />
QSqlQuery query;<br /> query.prepare(&quot;INSERT INTO imgtable (imgdata) VALUES (?)&quot;);<br /> query.addBindValue(byteArray);<br /> query.exec&amp;amp;#40;&amp;#41;;<br /></code>


It is done. Now the pixmap can be used in a Button as icon or in label etc.
Now, the image/file can be retrieved like any other data<br /><code><br /> QSqlQuery query(&quot;SELECT imgdata FROM imgtable&amp;quot;);<br /> query.next();<br /> QByteArray array = query.value(0).toByteArray();<br /></code>


===Categories:===
Creating a QPixmap from QByteArray :<br /><code><br /> QPixmap pixmap = QPixmap();<br /> pixmap.loadFromData(array);<br /></code>


* [[:Category:HowTo|HowTo]]
It is done. Now the pixmap can be used in a Button as icon or in label etc.
* [[:Category:snippets|snippets]]

Revision as of 14:45, 23 February 2015

English 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 :

<br /> QFile file&amp;amp;#40;fileName&amp;amp;#41;;<br /> if (!file.open(QIODevice::ReadOnly)) return;<br /> QByteArray byteArray = file.readAll();

QSqlQuery query;<br /> query.prepare(&quot;INSERT INTO imgtable (imgdata) VALUES (?)&quot;);<br /> query.addBindValue(byteArray);<br /> query.exec&amp;amp;#40;&amp;#41;;<br />

Now, the image/file can be retrieved like any other data

<br /> QSqlQuery query(&quot;SELECT imgdata FROM imgtable&amp;quot;);<br /> query.next();<br /> QByteArray array = query.value(0).toByteArray();<br />

Creating a QPixmap from QByteArray :

<br /> QPixmap pixmap = QPixmap();<br /> pixmap.loadFromData(array);<br />

It is done. Now the pixmap can be used in a Button as icon or in label etc.