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 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算