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

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Español''' [[How_to_Store_and_Retrieve_Image_on_SQLite|English]]<br />[[Category:HowTo]]<br />[[Category:QtDevelopmentSpanish::General]]<br />[[Category:snippets]]<br />[[Category:Spanish]]
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
 
'''Español''' [[How_to_Store_and_Retrieve_Image_on_SQLite|English]]
[[Category:HowTo]]
[[Category:QtDevelopmentSpanish::General]]
[[Category:snippets]]
[[Category:Spanish]]


= Como Guardar y Recuperar una Imagen o Archivo con SQLite =
= Como Guardar y Recuperar una Imagen o Archivo con SQLite =
Line 5: Line 11:
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 (BLOB) en el banco de datos.
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 :
Por ejemplo :


<code><br /> QFile file(fileName);<br /> if (!file.open(QIODevice::ReadOnly)) return;<br /> QByteArray byteArray = file.readAll();
<code>
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) return;
QByteArray byteArray = file.readAll();


QSqlQuery query;<br /> query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");<br /> query.addBindValue(byteArray);<br /> query.exec();<br /></code>
QSqlQuery query;
query.prepare("INSERT INTO imgtable (imgdata) VALUES (?)");
query.addBindValue(byteArray);
query.exec();
</code>


Ahora, la imagen/archivo puede ser recuperada como cualquier otro tipo de dato<br /><code><br /> QSqlQuery query("SELECT imgdata FROM imgtable");<br /> query.next();<br /> QByteArray array = query.value(0).toByteArray();<br /></code>
Ahora, la imagen/archivo puede ser recuperada como cualquier otro tipo de dato
<code>
QSqlQuery query("SELECT imgdata FROM imgtable");
query.next();
QByteArray array = query.value(0).toByteArray();
</code>


Creando un QPixmap desde un QByteArray :<br /><code><br /> QPixmap pixmap;<br /> pixmap.loadFromData(array);<br /></code>
Creando un QPixmap desde un QByteArray :
<code>
QPixmap pixmap;
pixmap.loadFromData(array);
</code>


Esta hecho. Ahora el pixmap puede ser usado en un QButton como un icono o en un QLabel, etc.
Esta hecho. Ahora el pixmap puede ser usado en un QButton como un icono o en un QLabel, etc.

Latest revision as of 15:35, 29 March 2015

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.

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 :

 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();

Ahora, la imagen/archivo puede ser recuperada como cualquier otro tipo de dato

 QSqlQuery query("SELECT imgdata FROM imgtable");
 query.next();
 QByteArray array = query.value(0).toByteArray();

Creando un QPixmap desde un QByteArray :

 QPixmap pixmap;
 pixmap.loadFromData(array);

Esta hecho. Ahora el pixmap puede ser usado en un QButton como un icono o en un QLabel, etc.