查看完整版本: [-- 关于QSqlTableModel中使用条件查询和排序问题 --]

QTCN开发网 -> Qt基础编程 -> 关于QSqlTableModel中使用条件查询和排序问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

wangshulin 2020-10-09 14:03

关于QSqlTableModel中使用条件查询和排序问题

使用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 2020-10-09 14:14
order by 列名  desc limit 5

我一般这样写

wangshulin 2020-10-09 14:33
uidab:order by 列名  desc limit 5
我一般这样写 (2020-10-09 14:14) 

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

uidab 2020-10-09 16:03
wangshulin:这样写试过了,使用setFilter这样写,再使用select,查询不了结果,你是怎么写的呢 (2020-10-09 14:33) 

就是这样写的.......................

wangshulin 2020-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();
就可以

liudianwu 2021-10-08 11:33
你需要改成 per_model->setFilter("1=1 order by workId desc limit 100");


查看完整版本: [-- 关于QSqlTableModel中使用条件查询和排序问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled