2011-12-20 150 views
2

我试图连接到运行在Windows的MySQL数据库,我使用的XAMPP 我用这个代码连接到数据库QT MYSQL连接不工作

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); 
db.setHostName("127.0.0.1"); 
db.setDatabaseName("opencart"); 
db.setUserName("root"); 
db.setPassword(""); 
db.open(); 

它打印以下错误消息

QSqlDatabase: QMYSQL driver not loaded 
QSqlDatabase: available drivers: QSQLITE 

我还添加了QT + = SQL,当我尝试打印驱动程序:

qDebug()<<QSqlDatabase::drivers();//("QSQLITE") 

如何建立mysql数据库连接

回答

2

默认情况下,只有Sqlite驱动程序被编译。

检查您的{QT_DIR} \ plugins \ sqldrivers文件夹。

如果不存在,只需转到{QTDIR} \ src \ plugins \ sqldrivers \ mysql并执行通常的qmake,nmake,nmake install。

您需要将.dll复制到应用程序的目录或Windows查找dll的位置。

+0

什么是平常qmake,nmake ??你可以请更多的sp1为 –

+0

假设你有Qt的源代码,你会进入我说的文件夹。运行qmake,然后nmake来构建dll。我不想粗鲁,但你应该知道qmake和nmake是什么。 –

+0

当然我知道qmake和nmake大声笑 –

0

如果你想在MySQL中使用QSqlDatabase,你首先必须为Qt创建一个MySQL驱动程序。但Qt在这个问题上的文档不是很清楚!

您应该检查这个link for Qt 4.7.xthis link for Qt5

这些都是一步一步的教程如何安装驱动程序!