sql-server - 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 对象上写入已删除的日期。我的问题是什么导致了这个问题,我该如何解决这个问题?
解决方案
我没有在我的应用程序上关闭我以前版本的数据库连接。我改变了这个,现在我通过退出按钮关闭我的连接,我的问题解决了。对于那些有同样问题的人,每次运行应用程序时尝试关闭数据库连接并打开新连接。如果你没有这样做,qt 会强制 sql 关闭连接,这会导致一些问题。
推荐阅读
- java - 为什么某些语言(如 C++ 和 Java)具有内置的 LinkedList 数据结构?
- webpack - 无服务节点 8.10 babel-runtime
- ruby-on-rails - 我为 rails new app 做了 -T 但现在我想安装默认的测试框架
- java - 不使用 split() 在 Java 中标记字符串
- python - 从python中的ODS文件获取超链接?
- apache-spark - PySpark foreachPartition 并行写入数据库
- r - 使用“或”约束设置线性优化器
- c++ - `myClass obj(var1, var2)` 和 `myClass obj= myClass(var1, var2)` 有什么区别
- node.js - 避免嵌套承诺
- c# - C# 使用 ILnumerics 在 3d 中绘图