QT5 habrá algunos problemas para conectarse a la base de datos MySQL, este artículo se describen los dos problemas comunes la mayoría, así como su solución relativamente simple.
base de datos MySQL no QT5 lista de soporte
Escriba el siguiente código para ver los tipos de bases de datos compatibles
//打印支持的数据库类型
qDebug()<<QSqlDatabase::drivers();
fenómeno:
El apoyo puede ser encontrado en la base de datos no muestra "QMYSQL", abierta Qt5.X.X\5.X.X\mingwXX_XX\plugins\sqldrivers
puede encontrar la falta de los dos archivos siguientes:
La razón: una versión anterior de QT5 no es con el conductor de MySQL, que no es qsqlmysql.dll
, y qsqlmysqld.dll
estos dos archivos, es necesario agregar manualmente el compilador.
Solución 1: A partir Qt5.8 (específicamente para ser verificado) viene después de que el defecto de MySQL impulsada (actualmente la actualización más rápida 5.1.4 no es con el conductor de MySQL), para que podamos actualizar a sí mismos a la versión más de 5,8, el problema puede ser resuelto, se recomienda que la versión apoyo a largo plazo 5.9.
Solución 2: a los archivos del controlador de compilación manualmente o descargar los archivos de unidad que corresponde a otros añadidos a la misma compilados. Compilado consulte la web oficial sql-manejador
unidad QMYSQL no cargado
Introduzca el siguiente código de conexión de base
//连接数据库
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("hll523811");
db.setDatabaseName("db");
if(db.open()==false){
qDebug()<<"打开失败"<<db.lastError().text();
}
fenómeno:
surgen problemas clásicos: unidad QMYSQL no se ha cargado
La razón:Qt5.X.X\5.X.X\mingwXX_XX\bin\
la falta de archivo de MySQL lib, por lo que no pueden utilizar
Solución: Abra la mysql-X.X.XX-winxXX\lib
copia libmysql.dll
a la Qt5.X.X\5.X.X\mingwXX_XX\bin\
lata
nota:
1. El libmysql.dll
documento debe coincidir con el uso apropiado de la versión de MySQL
2,32 replicación QT es de 32 bits en MySQL libmysql.dll
, pero también el correspondiente de 64 bits de 64 bits
3. Diferentes versiones de MySQL, que contiene diferentes libmysql.dll
, diferentes libmysql.dll
necesidades y apoyar qsqlmysqld.dll
qsqlmysql.dll
juntos para el trabajo