Grundlegendes: globale variablen, funktionen, projekte...

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
EtSting
Beiträge: 3
Registriert: 7. September 2014 21:11

Grundlegendes: globale variablen, funktionen, projekte...

Beitrag von EtSting »

Hi!

ich war vor einiger Zeit mal recht firm mit php (ohne OOP). Nach langejähriger Programmierpause entschied ich mich nun für QT/C++. Ich bin also neu bei C++/QT.

Ich verstehe nicht ganz wie ich mit Funktionen oder globalen Variablen umgehen soll.

Ich deklariere zB. in der mainwindow.h:

Code: Alles auswählen

class MainWindow : public QMainWindow
{
    Q_OBJECT
[...]
private:
    Ui::MainWindow *ui;
    int connect2DB();
    int reloadInterface();
    void loadCombo();
somit weise ich die entsprechenden Funktionen wohl der Klasse MainWindow zu.

Die mainwindow.cpp:

Code: Alles auswählen

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  // globale variable

int MainWindow::connect2DB()
{
    db.setHostName("localhost");
    db.setDatabaseName("db");
    db.setUserName("usr");
    db.setPassword("pass");;
[..]
}

void MainWindow::loadCombo()
{
    connect2DB();
    QSqlQuery query("SELCT id, name FROM tbl");
    if(db.open)
    {
        while(query.next())
        {
            ui->ComboVerbe->addItem(query.value(0).toString() + ".- " + query.value(1).toString());
        }
    }
    else
    {
        ui->lblSqlMsgs->setText("query execution failed");
        ui->lblSqlMsgs->setStyleSheet("color:#FF0000;");
    }


}
Was muss ich tun damit die Variable "db" überall deklariert ist, nicht überladen wird und quasi die DB Connection von überall aus abrufbar ist?
EtSting
Beiträge: 3
Registriert: 7. September 2014 21:11

Re: Grundlegendes: globale variablen, funktionen, projekte..

Beitrag von EtSting »

nagut... danke fürs angucken an die 33 Leser. Kann geschlossen werden, Problem ist erledigt.
Antworten