How to Store and Retrieve Image on SQLite/es: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''Español''' [[ | '''Español''' [[How_to_Store_and_Retrieve_Image_on_SQLite|English]]<br />[[Category:HowTo]]<br />[[Category:QtDevelopmentSpanish::General]]<br />[[Category:snippets]]<br />[[Category:Spanish]] | ||
=Como Guardar y Recuperar una Imagen o Archivo con | = Como Guardar y Recuperar una Imagen o Archivo con SQLite = | ||
Imágenes o cualquier tipo de archivos pueden ser guardados en un banco de datos. Aguí esta una manera de hacerlo siguiendo los siguientes pasos: | Imágenes o cualquier tipo de archivos pueden ser guardados en un banco de datos. Aguí esta una manera de hacerlo siguiendo los siguientes pasos: | ||
1. Cargar el archivo dentro de un QByteArray.<br /> 2. Guardar el QByteArray como un Binary Large Object ( | 1. Cargar el archivo dentro de un QByteArray.<br />2. Guardar el QByteArray como un Binary Large Object (BLOB) en el banco de datos. | ||
Por ejemplo : | Por ejemplo : | ||
<code><br /> QFile file&amp;#40;fileName&amp;#41;;<br /> if (!file.open(QIODevice::ReadOnly)) return;<br /> QByteArray byteArray = file.readAll(); | |||
QSqlQuery query;<br /> query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");<br /> query.addBindValue(byteArray);<br /> query.exec&amp;#40;&#41;;<br /></code> | |||
Ahora, la imagen/archivo puede ser recuperada como cualquier otro tipo de dato<br /><code><br /> QSqlQuery query("SELECT imgdata FROM imgtable&quot;);<br /> query.next();<br /> QByteArray array = query.value(0).toByteArray();<br /></code> | |||
Creando un QPixmap desde un QByteArray :<br /><code><br /> QPixmap pixmap;<br /> pixmap.loadFromData(array);<br /></code> | |||
Esta hecho. Ahora el pixmap puede ser usado en un QButton como un icono o en un QLabel, etc. | |||
Revision as of 11:26, 24 February 2015
Español English
Como Guardar y Recuperar una Imagen o Archivo con SQLite
Imágenes o cualquier tipo de archivos pueden ser guardados en un banco de datos. Aguí esta una manera de hacerlo siguiendo los siguientes pasos:
1. Cargar el archivo dentro de un QByteArray.
2. Guardar el QByteArray como un Binary Large Object (BLOB) en el banco de datos.
Por ejemplo :
<br /> QFile file&amp;#40;fileName&amp;#41;;<br /> if (!file.open(QIODevice::ReadOnly)) return;<br /> QByteArray byteArray = file.readAll();
QSqlQuery query;<br /> query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");<br /> query.addBindValue(byteArray);<br /> query.exec&amp;#40;&#41;;<br />
Ahora, la imagen/archivo puede ser recuperada como cualquier otro tipo de dato
<br /> QSqlQuery query("SELECT imgdata FROM imgtable&quot;);<br /> query.next();<br /> QByteArray array = query.value(0).toByteArray();<br />
Creando un QPixmap desde un QByteArray :
<br /> QPixmap pixmap;<br /> pixmap.loadFromData(array);<br />
Esta hecho. Ahora el pixmap puede ser usado en un QButton como un icono o en un QLabel, etc.