um nicht lange um den heissen Brei zu reden, komme ich direkt zu meinem Problem:
über folgenden Code Versuche ich ein Bild in meine Datenbank zu schreiben, diese ist mit einem "name" vom typTEXT und einem "image" vom typ MEDIUMBLOB aufgebaut:
Code: Alles auswählen
bool ok = false;
QImage tmpImage(productImagePath);
QByteArray image;
QBuffer buffer(&image);
ok = buffer.open(QIODevice::WriteOnly);
if(productImageType.contains("JPG", Qt::CaseInsensitive))
{
ok = tmpImage.save(&buffer, "JPG");
}
else if(productImageType.contains("JPEG", Qt::CaseInsensitive))
{
ok = tmpImage.save(&buffer, "JPEG");
}
else if(productImageType.contains("BMP", Qt::CaseInsensitive))
{
ok = tmpImage.save(&buffer, "BMP");
}
else if(productImageType.contains("PNG", Qt::CaseInsensitive))
{
ok = tmpImage.save(&buffer, "PNG");
}
else
{
ok = tmpImage.save(&buffer);
}
char* imgData = image.data();
QSqlQuery query;
ok = query.prepare("INSERT INTO product (name, image) VALUES (?, ?)");
query.bindValue(0, pProduct->GetProductName());
query.bindValue(1, imgData);
ok = query.exec();
QSqlDatabase::database().commit();
if (query.lastError().isValid())
{
qDebug("insert Product Exec: %s ", query.lastError().text().toLocal8Bit().constData());
}Was mache ich falsch? habe auch schon veruscht das QByteArray image , bzw. dieses über "image.toBase64()" zu übergeben.Using unsupported buffer type: -842150451 (parameter: 1) QMYSQL3: Unable to bind value
Vielen Dank schonmal für eure Hilfe,
random-access