首页| 论坛| 消息

标题:关于QSqlTableModel中使用条件查询和排序问题
作者:wangshulin
日期:2020-10-09 14:03
内容:

使用QSqlTableModel的setFilter可以实现类似于where的条件查询,使用sort可以实现类型于order by 的排序,分别使用其中任一种方式在加上select都可以实现数据库的显示,但是两个一起用就不行了:
m_model->setFilter("1=1 limit 0,15;");
m_model->setSort(0,Qt::DescendingOrder);/*降序排列*/
m_model->select();
这样写就得不到数据;这是为什么呢?
有没有什么方法,可以实现排序和条件查询同时实现的呢?请各位大神赐教,谢谢。


#1 [uidab 10-09 14:14]
order by 列名desc limit 5
我一般这样写
#2 回 uidab 的帖子 [wangshulin 10-09 14:33]
uidab:order by 列名  desc limit 5
我一般这样写 (2020-10-09 14:14) 
这样写试过了,使用setFilter这样写,再使用select,查询不了结果,你是怎么写的呢
#3 回 wangshulin 的帖子 [uidab 10-09 16:03]
wangshulin:这样写试过了,使用setFilter这样写,再使用select,查询不了结果,你是怎么写的呢 (2020-10-09 14:33) 
就是这样写的.......................
#4 回 uidab 的帖子 [wangshulin 10-09 17:49]
uidab:就是这样写的....................... (2020-10-09 16:03) 
我是这样写的:
per_model->setFilter("order by workId desc limit 100");
per_model->select();
没有结果显示出来;如果这样:
per_model->sort(2,Qt::DescendingOrder);/*降序排列*/
per_model->select();
就可以
#5 [liudianwu 10-08 11:33]
你需要改成 per_model->setFilter("1=1 order by workId desc limit 100");

回复 发表
主题 版块