diff --git a/src/gui/dialogs/formsettings.cpp b/src/gui/dialogs/formsettings.cpp index eb307c550..32d374adc 100755 --- a/src/gui/dialogs/formsettings.cpp +++ b/src/gui/dialogs/formsettings.cpp @@ -591,6 +591,7 @@ void FormSettings::mysqlTestConnection() { switch (error_code) { case DatabaseFactory::MySQLOk: + case DatabaseFactory::MySQLUnknownDatabase: m_ui->m_lblMysqlTestResult->setStatus(WidgetWithStatus::Ok, interpretation, interpretation); break; diff --git a/src/miscellaneous/databasefactory.cpp b/src/miscellaneous/databasefactory.cpp index d030d19e0..905b8be0e 100755 --- a/src/miscellaneous/databasefactory.cpp +++ b/src/miscellaneous/databasefactory.cpp @@ -110,10 +110,13 @@ DatabaseFactory::MySQLError DatabaseFactory::mysqlTestConnection(const QString & database.close(); return MySQLOk; } - else { + else if (database.lastError().isValid()) { // Connection failed, do cleanup and return specific error code. return static_cast(database.lastError().number()); } + else { + return MySQLUnknownError; + } } QString DatabaseFactory::mysqlInterpretErrorCode(MySQLError error_code) const { @@ -122,7 +125,7 @@ QString DatabaseFactory::mysqlInterpretErrorCode(MySQLError error_code) const { return tr("MySQL server works as expected."); case MySQLUnknownDatabase: - return tr("Selected database does not exist (yet)."); + return tr("Selected database does not exist (yet). It will be created. It's okay."); case MySQLCantConnect: case MySQLConnectionError: diff --git a/src/miscellaneous/databasefactory.h b/src/miscellaneous/databasefactory.h index 8ae105f1a..549c90d80 100755 --- a/src/miscellaneous/databasefactory.h +++ b/src/miscellaneous/databasefactory.h @@ -43,6 +43,7 @@ class DatabaseFactory : public QObject { // Describes possible MySQL-specific errors. enum MySQLError { MySQLOk = 0, + MySQLUnknownError = 1, MySQLAccessDenied = 1045, MySQLUnknownDatabase = 1049, MySQLConnectionError = 2002,