我有一个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关闭连接,这会导致一些问题。