我想在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:连接 'qt_sql_default_connection'仍在使用中,所有查询将停止 工作。 QSqlDatabasePrivate :: addDatabase:重复的连接名称 'qt_sql_default_connection',旧的连接已删除。
答案 0 :(得分:1)
答案很旧,但是我自己也遇到了同样的问题,所以我找到了一个解决问题的方法(当然,不一定是最优化的)。
出现此消息是因为您试图在同一连接上连接多个连接(默认连接)
每次您要为新连接建立连接时,您只需更改连接的默认名称
mDatabase.defaultConnection="a_name_for_connection";