赞
踩
在使用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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。