1.编译mysql插件
根据上面的描述,我们已经找到了 Qt 的源码目录,打开编译 mysql 插件的项目文件,我本地的具体路径如下(路径的后边部分都是相同的):C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql
修改项目文件,qmake一下
在编译输出窗口中可以看到有一条警告信息:Cannot read C:/qtsqldrivers-config.pri: No such file or directory 这个提示是说没找到那个文件,其实这个文件确实也是不存在的,因此需要修改一下,我们首先需要打开项目中的这个 qsqldriverbase.pri 文件:
在文件的盘下面有一个plugins目录,里面就是你想要的,注意,mysql的路径不要有中文与空格,不然会编译失败
把生成的dll拷贝到编译器中 本地示例目录:C:\Qt\5.15.2\msvc2019_64\plugins\sqldrivers
另外,还需要将 MySQL 的动态库拷贝到 Qt 的编译套件目录中,先找到 MySQL 的动态库:
以上就完成了,亲测可以使用,下面是代码示例
放在构造函数的初始化代码。连接成功
db=QSqlDatabase::addDatabase(“QMYSQL”);
db.setHostName(“localhost”); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
db.setPort(3306); //连接数据库端口号,与设置一致
db.setDatabaseName(“mysql0110”); //连接数据库名,与设置一致
db.setUserName(“root”); //数据库用户名,与设置一致
db.setPassword(“root”); //数据库密码,与设置一致
if(!db.open())
{
QMessageBox::about(this,“连接提示”,“不能连接”+db.lastError().text());
return ;
}
else
{
QMessageBox::about(this,“连接提示”,“连接成功,connect to mysql OK”);
}
读取数据库
void MainWindow::on_pushButton_clicked()
{
QSqlQuery query(db);
if(query.exec(“select * from students”))
{
qDebug()<<“true”;
}
else
{
qDebug()<<“false”;
}
while(query.next()){
ui->textEdit->append(query.value("Name").toString());
}
}