2015-01-03 44 views
-3

我想在我的sql表(客戶)中的QStringList中存儲整行(客戶名稱,行1),但我不確定我會如何去做這件事所有幫助是非常讚賞Qt在QStringList中存儲SQLITE行數據

謝謝

+1

所以,你要保存的所有行?或只是第一?該字符串列表應僅與客戶名稱一致。請澄清。 – Chernobyl

+0

我想將所有的數據保存到一個字符串列表 – Root0x

回答

3

我建議你使用QVector<QStringList>。在這種情況下,使用它會更容易。例如:

QSqlQuery query("SELECT * FROM newTab"); 
QVector<QStringList> lst; 
while (query.next()) 
{ 
    QSqlRecord record = query.record(); 
    QStringList tmp; 
    for(int i=0; i < record.count(); i++) 
    { 
     tmp << record.value(i).toString(); 
    } 
    lst.append(tmp); 
} 
foreach (const QStringList &var, lst) { 
    qDebug() << var; 
} 

輸出與QVector將非常類似於表。每次迭代意味着它裏面的所有字段(QStringList)每行:

("0", "Name1", "5000") 
("1", "Name2", "1000") 
("2", "Name3", "2000") 
+0

謝謝切爾諾貝利 – Root0x

+0

有什麼辦法我只用一行不選擇* – Root0x

+0

@ Root0x query.next()迭代拋出每一行,所以如果你只想要第一行,只是不要使用query.next()。在這種情況下,你也不需要QVector。如果你想從一個列中獲取數據,那麼你可以在你的查詢中設置這個列,或者通過設置一些數值爲num(num) – Chernobyl