1
我跟着this指令。我使用Qt 4.7.4版,firebird 2.1.5,VisualStudio 2010 Pro。QIBASE內置但未找到
.dlls(qsqlibase4
和qsqlite4
)和東西出現在他們應該在的地方,在%QtPATH%\plugins\sqldrivers
。
但是當我運行我的簡單測試項目
#include <QApplication>
#include <QtGui>
#include <QtSql>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QComboBox myCombo;
QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
myCombo.addItems(db.drivers());
db.setDatabaseName("c:/databases/employee.fdb");
db.setUserName("SYSDBA");
db.setPassword("masterkey");
if(!db.open())
{
QSqlError er = db.lastError();
QMessageBox::information(0, "Error", er.text());
}
myCombo.show();
return app.exec();
}
我得到一個錯誤:
QSqlDatabase: QIBASE driver not loaded
QSqlDatabase: available drivers: QSQLITE
我真的很困惑。驅動程序已建成,它看起來像路徑是正確的,但爲什麼這不起作用?
這是預期的行爲。默認情況下,所需的DLL將從可執行文件的工作目錄中加載。而Visual Studio項目通常使用「調試」和「發佈」作爲備用方向。 – Simon