База данных, соединяющая закрытый графический интерфейс

У меня проблема в том, что моя программа Gui была закрыта.
Например, я поместил этот код в pushButtonClicked метод:

database->addDatabase("QMYSQL", "conn1");
database->setHostName("127.0.0.1");
database->setPort(3306);
database->setDatabaseName( "mydb" );
database->setUserName("root");
database->setPassword("XXXX");
if ( !database->open() )
{
qDebug("Couldn't open DB");
}

Он просматривает мой Gui, но когда я нажимаю кнопку, он закрывает окно.
Когда я помещаю этот код в init-метод, он не просматривает окно.
Что не так в этом коде?
База данных является QSqlDatabase. Я заявляю об этом в своем заголовке.
Когда я удаляю этот код, все работает нормально.

0

Решение

QSqlDatabase::addDatabase это статическая функция. Правильная форма его использования:

database = QSqlDatabase::addDatabase("QMYSQL", "conn1");

Также обратите внимание, что вы должны использовать переменную типа QSqlDatabase как член класса, а не указатель на QSqlDatabase,

0

Другие решения


По вопросам рекламы [email protected]