一段简单的小程序
model是某数据库的一张表,假设包含A B C三个列
从第一行开始,逐行对 B列进行分析,如果B的值等于某常数bbb,那么改变C的值,并显示,否则继续分析下一行,源码如下
for (int i = 0; i < model->rowCount(); i++) {
QSqlRecord record = model->record(i);
if (record.value("B") == bbb)
{
record.setValue("C","ok");
model->record(i) = record;
}
}
郁闷的是,改动后的结果无法显示在tableview上,C还是那个C
我也有重新刷新,另外还做了个小测试,如果record.value("B") == bbb为true
那么把C要改变的那个值用setText显示在别的label中,一切都正常,证明有正确判断
但tableView就是不显示,气死了
请问我这段逻辑没错误吧,有可能错在什么地方