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);
}
运行结果及报错内容
这是运行后的图片
但是点击显示按钮,数据库没有了
报错QSqlQuery::exec: database not open