您的位置:首页 > 编程语言 > Qt开发

QT5中使用Mysql碰到的问题

2017-07-07 16:36 597 查看
QSqlQuery::exec: database not open
在使用QSqlQuery和QSqlQueryModel时都碰到了这个问题,只需分别关联到QSqlDatabase即可。

QSqlDatabase	db = QSqlDatabase::addDatabase("QMYSQL", "localhost");
// 设置相关参数
db.setDatabaseName("irisdb");    // 需要与数据库中的一致
db.setHostName("localhost");    // 主机名(地址)
db.setPort(3306);        // 端口
db.setPassword("root");
db.setUserName("root");
db.open();

QSqlQueryModel *model = new QSqlQueryModel(this);

QSqlQuery que(db);//关联db
que.exec("insert into student values(0, 'first')");

model->setQuery("select * from student",db);//关联db

2.在一个项目中同时多次使用 QSqlDatabase::addDatabase("QMYSQL", "localhost");导致先绑定的model不能显示数据
一个项目最好就使用一个共享的db
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt5 mysql 错误