• 2986阅读
  • 4回复

[提问]QSqlTableModel的setQuery [复制链接]

上一主题 下一主题
离线gardenhill
 

只看楼主 倒序阅读 楼主  发表于: 2017-09-05
使用setQuery设置order by 语句无效,是啥原因呢.

QSqlQuery query(QString("select rowid,* from %1").arg(tableName()),database());
    setQuery(query);
就可以读取到rowid, 但是使用order by 按照日期和时间排序就无效了.
离线alexltr

只看该作者 1楼 发表于: 2017-09-06
“无效“是指rowid不按顺序吗?使用子查询应该可以解决。
这种问题在网上搜一下应该就可以找到答案。
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线gardenhill

只看该作者 2楼 发表于: 2017-09-08
不是rowid排序,QSqlQuery query(QString("select rowid,* from %1 order by Date,Time").arg(tableName()),database());
根本就不能按时间排序.
是这个意思.
我用SQl的工具是可以排序的.
离线alexltr

只看该作者 3楼 发表于: 2017-09-08
哦. 那会不会跟QTableView的sorting有关系?
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线gardenhill

只看该作者 4楼 发表于: 2017-09-09
我没有打开tableview的sorting,默认是不打开的,所以很疑惑,目前就只能用setSort按照一列排序,是否是sqltablemodel的bug呢?
快速回复
限100 字节
 
上一个 下一个