• 8585阅读
  • 4回复

关于QSqlTableModel的问题 [复制链接]

上一主题 下一主题
离线sunday1118
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-15
select   top   10  ID  
from   tablename  
在QT中 如何用QsqlTableModel实现???
QSqlTableModel中只有 setTable() setFilter() setSort() 分别实现 from where 和 Order By 但有哪个函数能对select 进行编辑啊   有谁知道呢?? 谢谢了
离线sundp

只看该作者 1楼 发表于: 2009-06-17
看看QtAssistant,QSqlTableModel有个函数
bool QSqlTableModel::removeRows ( int row, int count, const QModelIndex & parent = QModelIndex() )

先oder by ,再把不需要的地方移去。
人境结庐<http://sundp70.blog.163.com>心远地偏
离线sunday1118
只看该作者 2楼 发表于: 2009-06-18
楼上的方法我也想到了 不过感觉这样效率太低了 我想做分页的效果 如果每次都靠删除行来实现虽然可以达到目的 但我感觉不是最佳的方法
不过还是谢谢楼上了。
离线sundp

只看该作者 3楼 发表于: 2009-06-20
我也不觉得我的办法好,但我也想不出更好的办法。我上次在程序里用QSqlTableModel的时候,也差不多是这么用的,只不过我要移除的是列,你要移除的是行。

那你看这样行不行:
生成一个临时表,insert into 临时表 select   top   10  ID  from   tablename   ,然后把这个临时表连接到QSqlTableModel上。
再就没有简单办法了。
人境结庐<http://sundp70.blog.163.com>心远地偏
离线illzskn
只看该作者 4楼 发表于: 2011-02-17
回 3楼(sundp) 的帖子
这个语句怎么实现..我sql学得不怎么样..
快速回复
限100 字节
 
上一个 下一个