• 2729阅读
  • 5回复

[提问]关于QSqlTableModel中使用条件查询和排序问题 [复制链接]

上一主题 下一主题
离线wangshulin
 

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

只看该作者 1楼 发表于: 2020-10-09
order by 列名  desc limit 5

我一般这样写
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线wangshulin

只看该作者 2楼 发表于: 2020-10-09
回 uidab 的帖子
uidab:order by 列名  desc limit 5
我一般这样写 (2020-10-09 14:14) 

这样写试过了,使用setFilter这样写,再使用select,查询不了结果,你是怎么写的呢
在线uidab

只看该作者 3楼 发表于: 2020-10-09
回 wangshulin 的帖子
wangshulin:这样写试过了,使用setFilter这样写,再使用select,查询不了结果,你是怎么写的呢 (2020-10-09 14:33) 

就是这样写的.......................
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线wangshulin

只看该作者 4楼 发表于: 2020-10-09
回 uidab 的帖子
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();
就可以
离线liudianwu

只看该作者 5楼 发表于: 2021-10-08
你需要改成 per_model->setFilter("1=1 order by workId desc limit 100");
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
快速回复
限100 字节
 
上一个 下一个