Liu Zhian 2018-02-12 05:11 采纳率: 60%
浏览 2012
已结题

Qt组件设置QSqlQueryModel没显示数据?

数据库创建代码

 #pragma once
#ifndef CONNECTION_H
#define CONNECTION_H

#include<QtSql>
#include<qdebug.h>
#include<QSqlDatabase>

static bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    db.setHostName("Andy");
    db.setDatabaseName("testData.db");
    db.setUserName("Andy");
    db.setPassword("123456");
    if (!db.open())
    {
        qDebug() << "创建数据库时失败!";
        return false;
    }
    QSqlQuery query(db);
    /*query = QSqlQuery::QSqlQuery(db);*/

    // 创建类型表
    query.exec("create table type(id varchar primary key, name varchar)");
    query.exec(QString("insert into type values(0,请选择类型)"));
    query.exec(QString("insert into type values(01,电视)"));
    query.exec(QString("insert into type values(02,空调)"));

    return true;
}

#endif // !CONNECTION_H

组件关联数据库代码

 Widget::Widget(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    ui.stackedWidget->setCurrentIndex(0);
    QSqlQueryModel *typeModel = new QSqlQueryModel(this);
    typeModel->setQuery("select name from type");
    ui.sellTypeComboBox->setModel(typeModel);

}

主函数

int main(int argc, char *argv[])
{

    QApplication a(argc, argv);
    if (!createConnection())
        return 0;
    Widget w;
    w.show();
    return a.exec();
} 

图片说明

这个comboBox却没有出现数据库表中的数据项

  • 写回答

2条回答 默认 最新

  • qq_30325425 2018-02-12 06:09
    关注

    有提示错误信息么

    评论

报告相同问题?

悬赏问题

  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号