c++ - 如何使用 SQL 更新数据库 (MS Access .mdb) 中的数据
问题描述
我想通过在 QT Creator C++ 中使用 SQL 来更新数据库(MS Access .mdb)中的数据,但没有任何反应。
我试图谷歌这个,但仍然没有。
void Chairs::on_pushButton_clicked()
{
mDatabase = QSqlDatabase::addDatabase("QODBC");
mDatabase.setDatabaseName(ACCESS);
if(!mDatabase.open())
{
QMessageBox::critical(this, "Error",
mDatabase.lastError().text());
return;
}
int quantity_of_chairs = 14;
int value = 1;
for (int i = 0; i < quantity_of_chairs; i++)
{
if(ui->comboBox->currentText() == value)
{
QSqlQueryModel *setquery1 = new QSqlQueryModel;
setquery1->setQuery("UPDATE Chairs SET Status = 'Ordered'
WHERE number_of_chair = "+value);
QTableView *tv = new QTableView(this);
tv->setModel(setquery1);
ui->tableView->setModel(setquery1);
}
value++;
}
}
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' 仍在使用中,所有查询都将停止工作。QSqlDatabasePrivate::addDatabase: 重复连接名称 'qt_sql_default_connection',旧连接已删除。
解决方案
答案很老了,但是我自己也遇到了同样的问题,我找到了一个解决方案(当然不一定是最优化的),我没有找到任何主题。
出现此消息是因为您尝试在同一连接上连接多个(默认连接)
每次您想为自己建立这样的新连接时,您只需更改连接的默认名称
mDatabase.defaultConnection="a_name_for_connection";
推荐阅读
- discord.js - 为 webhook 命名 Discord.JS
- javascript - node.js 渲染页面未加载样式
- scala - 在最佳实践之间使用 kafka 的 2 个 akka 流
- node.js - 为我的捆绑 javascript 库导入打字稿定义
- javascript - 将带有自动完成功能的搜索框从导航栏移到页脚?
- crash - 如果通过拖动选项卡对编辑器选项卡重新排序,SQL Server Management Studio 版本 18.7.1 会崩溃
- azure - 基于条件的 Azure 数据工厂 Databricks 参数
- pentaho - Pentaho 中的转置/透视 Excel 文件(使用多个文件)
- ruby-on-rails - Capistrano 部署找不到 Gemfile
- r - R - 向量化嵌套的 for 循环以将新值分配给矩阵