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
    关注

    有提示错误信息么

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料