Драйвер Qt ODBC не загружен - PullRequest
       9

Драйвер Qt ODBC не загружен

1 голос
/ 06 января 2012

У меня следующая проблема с драйвером QODBC:

bool Dialog::createOdbcConnection(QSqlDatabase * db, QString odbcName,QString user,QString pass)
{
    db = new QSqlDatabase();
    db->addDatabase("QODBC");
    db->setDatabaseName(odbcName);
    if(!user.isEmpty())
        db->setUserName(user);
    if(!pass.isEmpty())
        db->setPassword(pass);

    qDebug() << QSqlDatabase :: drivers();

    if (!db->open())
    {
            QMessageBox mgs;
            qDebug() << db->lastError().text();
            mgs.setText(db->lastError().text());
            mgs.exec();
            return false;
    }

    return true;
}

qDebug() << QSqlDatabase :: drivers(); возвращает ("QSQLITE", "QODBC3", "QODBC"), но программа не открывает мою базу данных, db-> open () возвращает false и ошибка "Driver not loaded Driver not loaded"

1 Ответ

1 голос
/ 21 января 2012

Какое использование параметра QSqlDatabase в вашем методе createOdbcConnection?Я бы предпочел удалить его оттуда, определить объект QSqlDatabase в вашем определении класса:

private:
    QSqlDatabase db_;

и инициализировать его в конструкторе классов:

db_ = QSqlDatabase::addDatabase("QODBC");

Это должно работать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...