c++ - 如何使用 SQL 更新数据库 (MS Access .mdb) 中的数据

标签 c++ sql database qt ms-access

我想在 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' is still in use, all queries will cease to work. QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

最佳答案

答案很旧,但是我自己也遇到过同样的问题,我找到了一个在任何主题上都找不到的解决方案(当然不一定是最优化的)。

出现此消息是因为您尝试在同一连接(默认连接)上连接多个连接

每次您想为自己建立这样的新连接时,只需更改连接的默认名称即可 mDatabase.defaultConnection="a_name_for_connection";

关于c++ - 如何使用 SQL 更新数据库 (MS Access .mdb) 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789944/

相关文章:

sql - 工具比较两个不同数据库中的表

c++ - 在 OpenCV 中合并重叠矩形

c++ - 改进 AVX 中的非水平分配

php - 将数据移动到新表并添加新数据

mysql - 在这种情况下,我应该使用多对多还是带有 bool 标志的一张表?

SQL:行和列之间的数量差异

c++ - 有什么方法可以在 C++ 中的某个地址获取指令的总字节数?

c++ - Lambda 表达式作为 C++14 中的类模板参数

sql - postgres 中数组与 select 语句的交集

MySQL语句获取最大ID的最小值