• 5951阅读
  • 3回复

ODBC连接Access后数据无法在TableView中显示 [复制链接]

上一主题 下一主题
离线sunday1118
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-20
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我使用QODBC驱动成功连接了Access数据库 想把里面的数据显示在事先在designer中画好的TableView控件中 但总是无法显示 不知道哪里出了问题

QSqlTableModel model;
        model.setTable("stdScore");
        model.setHeaderData(0,Qt::Horizontal,tr("ID"));
        model.setHeaderData(1,Qt::Horizontal,tr("Name"));
        model.setHeaderData(2,Qt::Horizontal,tr("EX1"));
        model.setHeaderData(3,Qt::Horizontal,tr("EX2"));
        model.setHeaderData(4,Qt::Horizontal,tr("EX3"));
        model.setHeaderData(5,Qt::Horizontal,tr("EX4"));
        model.setHeaderData(6,Qt::Horizontal,tr("EX5"));
        model.setHeaderData(7,Qt::Horizontal,tr("EX6"));
        model.setHeaderData(8,Qt::Horizontal,tr("EX7"));
        model.select();
        ui->tableView->setModel(&model);

我这样写有问题么? 这个问题不解决 我这程序就没法往下写了 郁闷啊
这里是源代码 很短 源程序 TestQtSql.rar (647 K) 下载次数:20
离线sunday1118
只看该作者 1楼 发表于: 2009-05-20
怎么没有人知道这个问题么? 急啊!
离线jx晨
只看该作者 2楼 发表于: 2011-08-16
遇到同样的问题,感觉这个论坛真不活跃,看过那么多提问帖就没几个解决了的
离线XChinux

只看该作者 3楼 发表于: 2011-08-16
QSqlTableModel model;

这个是局部变量,其作用域(可能是你的某个函数,或者是某个类的构造函数)一结束,它就消失了,也就是说tableView又没有model了,那如何显示?
所以你要将那个model声明成指针,或者是声明成类成员变量(或成员指针),使其生存期与tableView一致.


        
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个