2017-07-31 75 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

相關問題