簡體   English   中英

如何使用 SQL 更新數據庫 (MS Access .mdb) 中的數據

[英]How to UPDATE data in database (MS Access .mdb) by using SQL

我想通過在 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";建立這樣的新連接時,您只需要更改連接的默認名稱mDatabase.defaultConnection="a_name_for_connection";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM