2014-09-25 34 views
2

我有一個查詢是剛開臺基於一些標準的計數,例如:QSqlQuery如何獲取計數值?

QSqlQuery query("SELECT COUNT(*) FROM some_table WHERE some_value = :something"); 
query.bindValue(":something", "something"); 

我的問題是如何獲得這回的結果,顯然這是在那裏你會使用

query.value(int); 
query.value(QString); 

但文檔說int index不應該被使用,因爲我們不知道索引是什麼,並且不能使用字符串,因爲沒有字段定義爲我想要的結果。所以假設我是正確地說,是什麼讓我可以從這個查詢得到計數整數值成一個int變量

歡呼

回答

3

做一個別名場計數。就像這樣:

QSqlQuery query("SELECT COUNT(*) CNT FROM some_table WHERE some_value = :something"); 

,然後查詢按名稱CNT

+0

當這樣做,我得到'QSqlQuery ::值:沒有定位在有效的記錄' – AngryDuck 2014-09-25 13:02:56

+0

你叫'query.exec()'和'query.first()' – borisbn 2014-09-25 13:04:02

+0

執行查詢是的,但沒有先放,現在就試一試 – AngryDuck 2014-09-25 13:05:42

-1

您還可以使用:Query.next(); Query.value(0).toInt();

對於這條消息:QSqlQuery ::值:不定位在有效記錄 你應該做的:Query.next();將指針更改爲第一條記錄!