wangyu_1999 2022-07-22 15:53 采纳率: 40%
浏览 423
已结题

QT连接两个qslite数据库报错QSqlQuery::exec: database not open

QT连接两个qslite数据库出现数据连接问题报错QSqlQuery::exec: database not open
两个数据库是两个不同的界面,这是其中一个数据库的代码
主函数程序
QSqlDatabase m_db=QSqlDatabase::addDatabase("QSQLITE","material_connect");
m_db.setDatabaseName("E:\Damage-assessment\software\QT\GUI\GUI4.0\gui1.0\build-gui-Desktop_Qt_5_14_2_MSVC2017_64bit-Release\mental_material.db");

        if(m_db.open())
        {
            qDebug()<<"open success1";
        }
        else
        {
            qDebug()<<"open failed1";
        }

         QSqlQueryModel *model=new QSqlQueryModel(this);

             QString sql;

             sql="select name as  姓名 ,density as 密度, shear_modulus as 剪切模量 ,yield_stress as 屈服应力, maximum_yield_stress as 最大屈服应力, melting_temperature as 熔化温度 from mental_material";

             model->setQuery(sql,m_db);

              ui->display->setModel(model);

点击按钮的槽函数
void material::on_show_pushButton_clicked()
{
QSqlQueryModel *model=new QSqlQueryModel;
QString sql;
sql="select name as 姓名 ,density as 密度, shear_modulus as 剪切模量 ,yield_stress as 屈服应力, maximum_yield_stress as 最大屈服应力, melting_temperature as 熔化温度 from mental_material";

 model->setQuery(sql,m_db);

 ui->display->setModel(model);

}

运行结果及报错内容

这是运行后的图片

img


但是点击显示按钮,数据库没有了

img


报错QSqlQuery::exec: database not open

  • 写回答

1条回答 默认 最新

  • bostonAlen 2022-07-25 14:33
    关注

    先检查m_db是不是类的成员,不应该出现这行代码
    QSqlDatabase m_db=QSqlDatabase::addDatabase("QSQLITE","material_connect");
    至少应该是
    m_db=QSqlDatabase::addDatabase("QSQLITE","material_connect");
    其次,保证绑定的数据库已经打开。
    这个错误是Query绑定数据库没成功,query一直使用的是默认连接。
    1、试试加上this,QSqlQueryModel *model=new QSqlQueryModel(this);
    2、换一种方式,定义QSqlQuery query(m_db);然后query.setDatabase(m_db)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月9日
  • 已采纳回答 8月1日
  • 创建了问题 7月22日

悬赏问题

  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
  • ¥50 sft下载大文阻塞卡死
  • ¥15 机器人轨迹规划相关问题