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

From Qt Wiki
Jump to: navigation, search
 
(3 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&amp;amp;#40;fileName&amp;amp;#41;;<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(&quot;INSERT INTO imgtable (imgdata) VALUES (?)&quot;);<br /> query.addBindValue(byteArray);<br /> query.exec&amp;amp;#40;&amp;#41;;<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(&quot;SELECT imgdata FROM imgtable&amp;quot;);<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.