This commit is contained in:
Max-Wilhelm Bruker 2009-04-28 23:08:10 +02:00
parent 08df264556
commit 1c763528ae

View file

@ -36,6 +36,9 @@ Server::~Server()
bool Server::openDatabase() bool Server::openDatabase()
{ {
if (!QSqlDatabase::connectionNames().isEmpty())
QSqlDatabase::removeDatabase(QSqlDatabase::database().connectionNames().at(0));
settings->beginGroup("database"); settings->beginGroup("database");
QSqlDatabase sqldb = QSqlDatabase::addDatabase("QMYSQL"); QSqlDatabase sqldb = QSqlDatabase::addDatabase("QMYSQL");
sqldb.setHostName(settings->value("hostname").toString()); sqldb.setHostName(settings->value("hostname").toString());
@ -78,11 +81,8 @@ void Server::incomingConnection(int socketId)
AuthenticationResult Server::checkUserPassword(const QString &user, const QString &password) AuthenticationResult Server::checkUserPassword(const QString &user, const QString &password)
{ {
if (!QSqlDatabase::database().isOpen()) if (!QSqlDatabase::exec("select 1").isActive())
if (!openDatabase()) { openDatabase();
qCritical(QString("Database error: %1").arg(QSqlDatabase::database().lastError().text()).toLatin1());
return PasswordWrong;
}
QSqlQuery query; QSqlQuery query;
query.prepare("select password from players where name = :name"); query.prepare("select password from players where name = :name");