QT und mySQl Probleme
Verfasst: 30. November 2006 23:03
Moin moin!
Ich habe mit Qt und mySQL das Problem, dass ich nicht weiß wie ich einen QsqlCursor sowie ein QsqlQuery so erzeuge, dass ich von allen Funktionen und Dateien in meinem Programm darauf zugreifen und diese auch nutzen kann.
Mein Funktion zum laden der Datenbank sieht wie folgt aus:
Jetzt habe ich versucht nach der Zeile „DatenBank_geladen = TRUE;“ einen QsqlCursor zu erzeugen.
Soweit so gut. Leider ist dieser Cursor dann nur in dieser Funktion erreichbar. Versuche ich ihn nun Global zu erzeugen, so bekomme ich immer eine Fehlermeldung, dass ich keinen QsqlCursor erzeugen kann solange noch keine Qapplication vorliegt.
Wie aber erzeuge ich nun den QsqlCursor bzw. ein QsqlQuery so, dass ich es überall in meinem Programm nutzen kann???
Am liebsten würde ich gerne all die Datenbank Operationen und Manipulationen in eine Klasse packen, so dass ich sie dann bei Bedarf ganz einfach aufrufen kann. Z.B. in dieser Form
Leider sind alle Beispiele die ich bis jetzt über Google dazu gefunden habe entweder dermaßen kompliziert das ich nicht durchblicke oder aber einfach nicht für mich so umsetzbar.
Ich wäre um jede Hilfe Dankbar.
Tobias
Ich habe mit Qt und mySQL das Problem, dass ich nicht weiß wie ich einen QsqlCursor sowie ein QsqlQuery so erzeuge, dass ich von allen Funktionen und Dateien in meinem Programm darauf zugreifen und diese auch nutzen kann.
Mein Funktion zum laden der Datenbank sieht wie folgt aus:
Code: Alles auswählen
bool c_dvd_db::connect_database(void)
{
QSqlDatabase *main_DB = QSqlDatabase::addDatabase( "QMYSQL3" );
if ( ! main_DB )
{
qWarning( "Failed to connect to driver" );
DatenBank_geladen = FALSE;
return FALSE;
}
main_DB->setDatabaseName(DBName);
main_DB->setUserName(DBUsername);
main_DB->setPassword(DBPassword);
main_DB->setHostName(DBHostname);
if ( ! main_DB->open() )
{
qWarning( "Failed to open Database: " + main_DB->lastError().driverText() );
qWarning( main_DB->lastError().databaseText() );
DatenBank_geladen = FALSE;
return FALSE;
}
DatenBank_geladen = TRUE;
return TRUE;
}Code: Alles auswählen
QSqlCursor books_cur( "books" );Wie aber erzeuge ich nun den QsqlCursor bzw. ein QsqlQuery so, dass ich es überall in meinem Programm nutzen kann???
Am liebsten würde ich gerne all die Datenbank Operationen und Manipulationen in eine Klasse packen, so dass ich sie dann bei Bedarf ganz einfach aufrufen kann. Z.B. in dieser Form
Code: Alles auswählen
booksDB.setzeFilter(SQL Anweisung);
booksDB.next();Ich wäre um jede Hilfe Dankbar.
Tobias