【发布时间】:2015-02-02 15:04:22
【问题描述】:
我再次需要你的帮助。 我想从我的 sqlite 数据库中获取前 3 个值并将它们存储在 QStrings 或 int 中。 我的数据库有 1 个表,该表有 3 个列(名称、胜利、失败)。 我想做类似的事情:
QString name1;
QSqlQuery qrry;
qrry.exec("SELECT name FROM users ORDER BY wins DESC WHERE rowid=1");
if (qrry.isActive())
{
while(qrry.next())
{
name1=qrry.value(0).toString();
}
}
如果我删除 ORDER BY wins DESC,我会从 db 中获取名字。但我想先对它进行排序,ORDER BY 看起来不是正确的方法。
你能帮帮我吗?
【问题讨论】:
-
为什么 order by 不是正确的方法?我一直在我的 Qt 应用程序中使用它。
-
为什么要在语句中添加
WHERE子句? -
我想你应该使用
LIMIT 3子句,而不是WHERE rowid=1 -
同意
order by对WHERE rowid=1部分没有意义。 -
@hank,如果我使用 LIMIT,如何读取存储在不同 QStrings 中的数据库中的名称?比如..“name1=db 中的第一个名字”、“name2=2nd name”、“name3=3rd name”。