[solved] Bild aus Datenbank: Beste Methode?

Alles rund um die Programmierung mit Qt
Antworten
C167
Beiträge: 105
Registriert: 9. Februar 2008 20:30

[solved] Bild aus Datenbank: Beste Methode?

Beitrag von C167 »

Tagchen,
Ich frage mich gerade, was die beste Methode ist, ein Bild aus einem sqlite3 BLOB-Fehl zu laden und anzuzeugen.
Bisher mach ich das so:

Code: Alles auswählen

void ImageViewer::loadImage ( int pic )
{
	QSqlQuery query ( QSqlDatabase::database() );
	query.prepare ( "SELECT data FROM img_images WHERE id = :id" );
	query.bindValue ( ":id", img_list[pic] );
	query.exec();
	if ( query.next() )
	{
		return QImage::fromData ( query.value ( 0 ).toByteArray() ) );
	}
	else
	{
		return QImage();
	}
}
Nu hab ich in einem meiner Buecher folgende Methode enteckt:

Code: Alles auswählen

QImage ImageCollection::getImage( int id )
{
	QSqlQuery qrx;
	qry.prepare ( "SELECT data FROM images WHERE id = :id" );
	qry.bindValue ( ":id", id );
	if ( !qry.exec() ) qFatal ( "Failed to get image" );
	if ( !qry.next() ) qFatal ( "Failed to get image id" );
	QByteArray array = qry.value ( 0 ).toByteArray();
	QBuffer buffer ( &array );
	buffer.open ( QIODevice::ReadOnly );
	QImageReader reader ( &buffer, "PNG" );
	QImage image = reader.read();
	return image;
}
Welche Methode ist besser? Welche schneller? Welche Vor-/Nachteile haben die Methoden?
Qt4.4b1, System is Debian Sid und Zielsystem Windows.
C167
Zuletzt geändert von C167 am 5. April 2008 16:06, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Laut Doku ist es das Gleiche
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
C167
Beiträge: 105
Registriert: 9. Februar 2008 20:30

Beitrag von C167 »

gut, danke
laut doku nimmt man offenbar die Methode mit dem QImageReader eh nur wenn man es gleich schnippeln will.
Antworten