首页 > 解决方案 > QSqlQuery 选择已删除的表

问题描述

我有一个 QT 应用程序,我正在向用户展示一些来自 ms sql 数据库的数据,这些数据与从组合框对象中选择的 ID 相关。我的问题是,我已经删除了我的 ms sql 服务器上的所有表,但我的 qt 应用程序仍然可以找到表。这是我的示例代码:

QString query = 'SELECT Date FROM [dbo].[Parametre] WHERE id=';
QString selected_item = this->ui->comboBox->currentText();
query.append(selected_item);
QSqlQuery qry;

if(qry.exec(query))
{
this->listWidget->addItem->qry.value(0).toString();
}
else
{
qDebug()<<qry.lastError();
}

我的 ms sql 数据库中没有有效的表,但它仍然在我的 listWidget 对象上写入已删除的日期。我的问题是什么导致了这个问题,我该如何解决这个问题?

标签: sql-serverqsqlquery

解决方案


我没有在我的应用程序上关闭我以前版本的数据库连接。我改变了这个,现在我通过退出按钮关闭我的连接,我的问题解决了。对于那些有同样问题的人,每次运行应用程序时尝试关闭数据库连接并打开新连接。如果你没有这样做,qt 会强制 sql 关闭连接,这会导致一些问题。


推荐阅读