我想在 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/