QT - połączenie z bazą mysql

0

Witam. Mam na stronie bazę danych, chciałbym się z nią połączyć z poziomu aplikacji. Zrobiłem coś takiego:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("");
    if (!db.open())
    {
        QMessageBox msgBox;
        msgBox.setWindowTitle("Error");
        msgBox.setText("Nie można otworzyć bazy danych!");
        msgBox.exec();
    }
    else
    {
	QMessageBox msgBox;
        msgBox.setWindowTitle("Arielus - Error");
        msgBox.setText("Połączono!");
        msgBox.exec();

        QSqlQuery query;

        query.prepare( "CREATE TABLE IF NOT EXISTS names (id INTEGER UNIQUE PRIMARY KEY, firstname VARCHAR(30), lastname VARCHAR(30))" );
        if( !query.exec() )
        {
            QMessageBox msgBox;
            msgBox.setWindowTitle("Arielus - Error");
            msgBox.setText("Nie można utworzyć tabeli!");
            msgBox.exec();
        }
        else
        {
            QMessageBox msgBox;
            msgBox.setWindowTitle("Arielus - Error");
            msgBox.setText("Tabele utworzone!");
            msgBox.exec();
        }
    }
0

Przepraszam za double posta ale zapomniałem dopisać, sęk w tym że nie wiadomo co bym wpisał za każdym razem łączy, nawet jeżeli dane są złe ale nawet jeżeli są dobre nie tworzy tabel. Ktoś może powiedzieć o co chodzi?

0

Spróbuj odpalić metodę lastError(), na samym końcu.

PS. Stwórz sobie jakąś metodę do messageboxów bo 4 razy masz to samo z innym komunikatem.

0

Niestety ale last error zwraca tylko to - QSqlError("", "", "").
Ma ktoś może jakieś przypuszczenia?

1 użytkowników online, w tym zalogowanych: 0, gości: 1