我有一个Qt应用程序,它(本质上)使用QSqlDatabase创建一个QSqlDatabase数据库连接,创建一个gridPopulator实例,用(显然)数据库中的数据填充QTableView。这看起来很简单,但是我有一个preferences对话框,它可以更改数据库连接设置。因此,如果从preferences对话框中接受设置,则我的应用程序必须使用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);不过,这似乎不足以实际刷新数据库连接的。如何正确创建此刷新过程?
发布于 2014-06-22 21:58:26
您需要在更改设置后关闭()和打开()连接。这也写在文档中。
https://stackoverflow.com/questions/24334355
复制相似问题