• 5239阅读
  • 3回复

关于QSqlRelationalTableModel加过滤条件的问题???(问题解决) [复制链接]

上一主题 下一主题
离线leehus
 

只看楼主 倒序阅读 楼主  发表于: 2008-11-13
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
    departmentModel = new QSqlRelationalTableModel(this);
    departmentModel->setTable("department");
    departmentModel->setFilter(QString("state=0"));

如上述代码
加一个state=0的条件,程序可以执行,tableview也有数据显示

我想加第二个过滤条件,试过以下两种方法:
  departmentModel = new QSqlRelationalTableModel(this);
    departmentModel->setTable("department");
    departmentModel->setFilter(QString("state=0"));
    departmentModel->setFilter(QString("id=1"));
或者:
    departmentModel = new QSqlRelationalTableModel(this);
    departmentModel->setTable("department");
    departmentModel->setFilter(QString("id=1 and state=0"));

结果,编译通过,但是tableview都不显示数据了
请指教!!!

原因:departmentModel 调用了setRelation()
屏蔽掉就没事了,为什么会这样呢?

[ 此贴被leehus在2008-11-13 15:21重新编辑 ]
离线vrcats
只看该作者 1楼 发表于: 2008-11-13
你表是什么样的?id是数字类型么
离线leehus

只看该作者 2楼 发表于: 2008-11-13
state 和 id 都是int的
而且用query直接select * from department where id=1 and state=0
可以执行查询
离线leehus

只看该作者 3楼 发表于: 2008-11-13
qt版本4.4.1
快速回复
限100 字节
 
上一个 下一个