数据库连接关闭Gui

时间:2014-09-18 07:33:03

标签: c++ database eclipse qt qsqldatabase

我有问题,我的程序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。我在标题中声明了这一点 当我删除此代码时,一切正常。

1 个答案:

答案 0 :(得分:0)

QSqlDatabase::addDatabase是一个静态函数。使用它的正确形式是:

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

另请注意,您应使用QSqlDatabase类型的变量作为类成员而不是指向QSqlDatabase的指针。