Datenbank auch in Dialog-Klasse nutzen

Alles rund um die Programmierung mit Qt
Antworten
liupo
Beiträge: 7
Registriert: 7. März 2013 08:33

Datenbank auch in Dialog-Klasse nutzen

Beitrag 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?
veeman
Beiträge: 280
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Datenbank auch in Dialog-Klasse nutzen

Beitrag 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;
}
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Datenbank auch in Dialog-Klasse nutzen

Beitrag von Christian81 »

Auf die Datenbank greift man immer per QSqlDatabase::database() zu - siehe http://qt-project.org/doc/qt-4.8/qsqlda ... l#database !
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten