2014-09-25 2 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 one shouldnt использоваться, потому что мы не знаем, что индекс будет andi can not использовать строку один, потому что нет ни одного файла, чтобы определить как тот, для которого я хочу получить результат. поэтому при условии, я прав в том, что, как это, что я могу получить целое значение числа в переменную Int из этого запроса

приветствий

ответ

3

сделать псевдоним подсчета поля. Как это:

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

, а затем запрос по имени CNT

+0

При выполнении этого я получаю 'QSqlQuery :: значение: не позиционируется в действительной записи' – AngryDuck

+0

Вы вызывали' query.exec() 'и' query.first() ' – borisbn

+0

выполнили запрос yea, но не положили первый , попробуем сейчас – AngryDuck

-1

Вы также можете использовать: Query.next(); Query.value (0) .toInt();

Для этого сообщ: QSqlQuery :: значение: не находящийся на действительной записи вы должны сделать: Query.next(); изменить указатель на первую запись!

Смежные вопросы