我认为以下内容可能是可能的:
QFile f("thumbnail.jpg");
f.open(QIODevice::ReadOnly);
QDataStream ds(&f);
query->bindValue(":data", ds, QSql::In | QSql::Binary);
然而,数据库字段最终以NULL结尾。我目前唯一可以工作的是:
QByteArray ba = f.readAll();
query->bindValue(":data", ba, QSql::In | QSql::Binary);
我认为这很好,但我更喜欢流式传输或使结构更可重复使用内存(即像矢量)。
答案 0 :(得分:0)
在第一个场景中,您需要在使用流之前打开该文件。
请尝试下面的内容。
QFile f("thumbnail.jpg");
file.open(QIODevice::ReadOnly); //OPEN THE FILE BEFORE ASSIGNING TO STREAM
QDataStream ds(&f);
query->bindValue(":data", ds, QSql::In | QSql::Binary);