VS2012+QT5.2.1+MySQL 5.1.51 Win32数据库编写程序运行:
void QtUser::getData(void)
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("test");
db.setUserName("admin");
db.setPassword("123456");
bool bisOpen=db.open();
if (!bisOpen) {
QMessageBox::critical(0, QStringLiteral("无法打开数据库!"),
QStringLiteral("无法建立数据库链接!"), QMessageBox::Cancel);
}
qDebug()<<"bisOpenn="<<bisOpen;
}
系统DEBUG状态运行提示:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
bisOpenn= false
解决办法:
根据机器上安装的MySQL的版本,到MySQL的安装目录下找到bin里的libmysql.dll,拷贝到Qt的目录下去,例如:
C:\Qt\Qt5.2.1\5.2.1\msvc2012\bin
注意版本一定要和当前用的MySQL数据库版本一致。
void QtUser::getData(void)
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("test");
db.setUserName("admin");
db.setPassword("123456");
bool bisOpen=db.open();
if (!bisOpen) {
QMessageBox::critical(0, QStringLiteral("无法打开数据库!"),
QStringLiteral("无法建立数据库链接!"), QMessageBox::Cancel);
}
qDebug()<<"bisOpenn="<<bisOpen;
}
系统DEBUG状态运行提示:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
bisOpenn= false
解决办法:
根据机器上安装的MySQL的版本,到MySQL的安装目录下找到bin里的libmysql.dll,拷贝到Qt的目录下去,例如:
C:\Qt\Qt5.2.1\5.2.1\msvc2012\bin
注意版本一定要和当前用的MySQL数据库版本一致。