我有一个Qt应用程序,该应用程序(基本上)使用QMYSQL
创建了QSqlDatabase
数据库连接,创建了gridPopulator
实例,以(显然)来自数据库的数据填充QTableView
。看起来很简单,但是我有一个“首选项”对话框,它可以更改数据库连接设置。因此,如果在首选项对话框中接受设置,则我的应用程序必须使用gridPopulator::refresh()
重新填充QTableView
。我尽力在下图中解释该过程。
我当前拥有的程序能够像这样更改数据库对象的设置:
preferences p; p.read();
QSqlDatabase databaseConnection = QSqlDatabase::database("SCHEDULE_DATABASE");
databaseConnection.setHostName(p.database->server_addr);
databaseConnection.setUserName(p.database->username);
databaseConnection.setPassword(p.database->password);
databaseConnection.setDatabaseName(p.database->database_name);
databaseConnection.setPort(p.database->serverPort);
但是,这似乎不足以实际刷新数据库连接。如何正确创建此刷新过程?
最佳答案
更改设置后,您需要关闭()和打开()连接。这也写在文档中。