Seite 1 von 1

Datenbank auch in Dialog-Klasse nutzen

Verfasst: 1. April 2013 22:44
von liupo
Hallo,
ich habe folgende Dateien in meinem Projekt:
dialog.h
mainwindow.h

dialog.cpp
main.cpp
mainwindow.cpp

dialog.ui
mainwindow.ui



Ich habe in mainwindow.h meine Datenbank und ein Dialogobjekt gesetzt:

Code: Alles auswählen

public:
    QSqlDatabase db;
    Dialog *dialog;
Die Datenbank habe ich im Konstruktor in mainwindow.cpp dann deklariert.

Ich bin noch Anfängerin und brauche db nun auch in dem accept()-Slot in dialog.cpp.
Ich weiß allerdings nicht, wie/ob ich Zugriff auf db bekommen kann, vor allem da diese ja auch erst in mainwindows Konstruktor deklariert wird.
Kann mir da jemand einen Rat geben?

Re: Datenbank auch in Dialog-Klasse nutzen

Verfasst: 2. April 2013 20:46
von veeman
Übergib einfach deinem Dialog eine Referenz auf deine Datenbank und verwende diese.

Code: Alles auswählen

class Dialog: ...
{
   public:
     Dialog(QSqlDatabase *db) : pdb(db) { pdb->machwas() };
   private:
    QSqlDatabase *pdb;
}

Re: Datenbank auch in Dialog-Klasse nutzen

Verfasst: 3. April 2013 16:51
von Christian81
Auf die Datenbank greift man immer per QSqlDatabase::database() zu - siehe http://qt-project.org/doc/qt-4.8/qsqlda ... l#database !