1.首先在.pro文件中添加QT += sql;
2.在程序中添加如下代码:
<pre name="code" class="cpp">//输出可用数据库
qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;
<pre name="code" class="cpp">//打开MySQL
QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL");
data_base.setHostName("10.0.31.41"); //设置主机地址
data_base.setPort(3309); //设置端口 linux下是2405 window下3306
data_base.setDatabaseName("gv_local"); //设置数据库名称
data_base.setUserName("root"); //设置用户名
data_base.setPassword("root123"); //设置密码
if(!data_base.open())
{
qDebug()<<"connect failed";
qDebug() << data_base.lastError();//.databaseText() 输出错误信息
}
else
qDebug()<<"success";
输出提示:
MySQL驱动加载失败,如何解决?
解决办法:
编译无错误,输出出现
QSqlError("1045","QMySQL:Unable to connect","QAccess denied for user'root'@'192.168.0.123'(using password:YES)")
connect failed
问题原因一:对应的用户名的密码错误,该成对的即可
QSqlError("1045","QMySQL:Unable to connect","QAccess denied for user'root'@'192.168.0.123'(using password:NO)")
connect failed
问题原因一:用户名错误
QSqlError("2003","QMySQL:Unable to connect","Can't connect to MySQL server on '192.168.0.8(10061)")
connect failed
问题原因一:此IP上没有musql数据库或端口错误
QSqlError("1049","QMySQL:Unable to connect","Unkown database 'hahaha'")
connect failed
问题原因一:此ip上没有对应名称的数据库
此文章参考了