在 Button_Click (QT/C++) 上调用 db.close()

Call db.close() on Button_Click (QT/C++)

如何从 Button_onClick 功能关闭数据库连接?

    Artikelverwaltung::Artikelverwaltung(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Artikelverwaltung)
    {
      ...
    
        QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    ...
    }
    
    void Artikelverwaltung::on_pushButton_clicked()
    {
        db.close(); // <---- This is not working of cause. how can i do this?
}

此致

它不起作用,因为 db 是 Artikelverwaltung::Artikelverwaltung 中的局部变量,您需要将其设为 class 属性。

class Artikelverwaltung
{
  private:
    QSqlDatabase m_db;
};




Artikelverwaltung::Artikelverwaltung(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Artikelverwaltung)
{
  ...

    m_db = QSqlDatabase::addDatabase("QODBC");
...
}

void Artikelverwaltung::on_pushButton_clicked()
{
    m_db.close();
}