QSqlQuery选择已删除的表

问题描述

我有一个QT应用程序,我在向用户展示ms sql数据库中的一些数据,这些数据与comboBox对象中选定的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对象上写入已删除的Date。我的问题是导致此问题的原因是什么,我该如何解决?

解决方法

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...