2017-07-31 21 views
0

私は次のようなものが可能かもしれないと思った:ファイルをストリーム経由でQSqlQueryにバインドできますか?

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

最初のシナリオでは、ストリームで使用する前にファイルを開く必要があります。

次のように試してみてください。

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); 
+0

しかし、それは私が質問を書いたときにコピー/ペーストの監視でした。修正する質問を編集します。 – Nicholas

関連する問題