gpt4 book ai didi

c++ - 未加载 Qt ODBC 驱动程序

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:31 25 4
gpt4 key购买 nike

我在使用 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"

最佳答案

在您的 createOdbcConnection 方法中 QSqlDatabase 参数有什么用?我宁愿从那里删除它,在类定义中定义一个 QSqlDatabase 对象:

private:
QSqlDatabase db_;

并在您的类构造函数中初始化它:

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

那应该行得通!

关于c++ - 未加载 Qt ODBC 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8758495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com