QSqlQuery如何获取计数值?

时间:2014-09-25 12:44:31

标签: c++ qt qsqlquery

我有一个查询只是根据一些标准得到表的计数,例如:

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

我的问题是我如何得到这个结果,显然这就是你要使用的地方

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

但是文档说不应该使用int索引,因为我们不知道索引是什么,并且不能使用字符串1,因为没有字段定义为我想要的结果。所以假设我是正确的说我怎么能把计数整数值从这个查询中变成一个int变量

欢呼声

2 个答案:

答案 0 :(得分:4)

为字段计数创建别名。像这样:

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

然后按名称CNT

进行查询

答案 1 :(得分:-1)

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

对于此msg:QSqlQuery :: value:未定位在有效记录上 你应该这样做: Query.next(); 将指针更改为第一条记录!