刷新QSqlDatabase对象的设置

时间:2014-06-20 19:27:20

标签: c++ qt

我有一个Qt应用程序,它(基本上)使用QMYSQL创建QSqlDatabase数据库连接,创建一个gridPopulator实例来填充QTableView,其中包含(明显)数据数据库。看起来很简单,但我有一个首选项对话框,它可以更改数据库连接设置。因此,如果从首选项对话框中接受设置,我的应用程序必须使用gridPopulator::refresh()重新填充QTableView。我尽力解释下图中的过程。

enter image description here

我目前拥有的程序能够像这样更改数据库对象的设置:

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);

但是,似乎这还不足以实际刷新数据库连接。如何正确创建此刷新流程?

1 个答案:

答案 0 :(得分:1)

更改设置后,您需要关闭()并打开()连接。这也写在文档中。