关于Qt的QSqlTableModel无法打开中文名称数据表

发现Qt的QSqlTableModel是无法打开中文名称数据表

仅为了记录使用过程中发现的问题,如发现问题可以解决欢迎留言~

代码如下:

    model = new QSqlTableModel(this);
    model->setTable("班组表");
    qDebug() << model->lastError().text();
    model->select();
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    ui->tableView->setModel(model);
报错如下:

在这里插入图片描述
找不到班组表这个表,所以并不能显示,各种方法也都试了,还是失败了。。
最后用的QSqlQueryModel进行代替,虽然麻烦了一点,需要重写几个函数
代码如下:

    querymodel = new QSqlQueryModel(this);
    querymodel->setQuery("select 班组编号,班组名称,负责人姓名 from 班组表");
    querymodel->setHeaderData(0, Qt::Horizontal, "班组编号");
    querymodel->setHeaderData(1, Qt::Horizontal, "班组名称");
    querymodel->setHeaderData(2, Qt::Horizontal, "负责人姓名");
    ui->tableView->setModel(querymodel);

显示效果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41750806/article/details/127494468
今日推荐