PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : allgemeine frage zu qt



hanswurst
02-09-2004, 21:26
Ich habe zb folgende Klassen:

DbEinstellungen und Artikel

In DbEinstellungen ist unter anderem die Methode

QSqlDatabase DbEinstellungen::getDB()
{
return DefaultDB;
}

Bis hierhin lässt sich auch alles fehlerfrei kompilieren.
Jetzt möchte ich aber in der Klasse Artikel die Methode DbEinstellung::getDB() aufrufen, um auf die Datenbank zugreifen zukönnen.

void Artikel::sucheAlles
{
QSqlDatabase *test = DbEinstellung::getDB()
}

Doch genau hier kommt immer eine Fehlermeldung.
Wieso kann ich das nicht so schreiben?
vielen dank

peschmae
03-09-2004, 07:26
Was ist die Fehlermeldung?
Ist getDB() static? Wenn nein, und wenn du es nicht static möchtest dann brauchst du ein Objekt der Klasse und nicht nur die Klasse.
Ist das Fehlen des abschliessenden ; in der zweiten Methode ein Abschreibfehler?

MfG Peschmä

hanswurst
03-09-2004, 12:24
hallo,
die fehlermeldung ist zu lang zum abtippen...

ich habe folgendes Problem:

ich möchte die Klassenvariable "QSqlDatabase *DefaultDB", welche ich in der Klasse Datenbankeinstellung erstelle, mit der Methode
(QSqlDatabase Datenbankeinstellung::getDB()) an eine andere Klasse übergeben, damit ich dann die jeweiligen Klasse die Datenbankabfragen erstellen kann. Der Rückgabewert QSqlDatabase wird auch von der Klasse Datenbankeinstellung akzeptiert, kann aber den Rückgabewert nicht in anderen Klassen benutzen.
vielen dank

paines
03-09-2004, 17:14
Du musst von DBEinstellung erst ein Objekt erstellen, damit du
darauf die Methode getDB() aufrufen kannst.

quasi:

void Artikel::sucheAlles()
{
DBEinstellung *myObj=new DBEinstellung();

QSqlDatabase *test=myObj->getDB();


}


Du

Gruss
paines

hanswurst
03-09-2004, 18:22
Ahhhhhh.....
thanx

TheDodger
04-09-2004, 10:33
ich habe folgendes Problem:

ich möchte die Klassenvariable "QSqlDatabase *DefaultDB", welche ich in der Klasse Datenbankeinstellung erstelle, mit der Methode
(QSqlDatabase Datenbankeinstellung::getDB()) an eine andere Klasse übergeben, damit ich dann die jeweiligen Klasse die Datenbankabfragen erstellen kann.

[...]
Wozu?
Per default ist es immer die defaultDB, wenn man explizit keine angibt ...
Ich empfehle dir dringend einmal die examples zu den Qt-DB Sachen durchzusehen, da wirst du das finden.
Ansonsten einfach mal hier im forum suchen, ich hab dafür mal ein example zusammengesetzt, welches compilierbar ist.
Ansonsten meld dich bei mir ...