从数据库的安装到与Qt进行连接,整个过程中遇到了无数的问题和困难,基本所有的步骤及解决问题的方法和途径都能在网上找到,以下是我大致总结的整个过程,下面所列资料很具有参考价值,如果在安装过程中遇到其他问题,基本都可以在CSDN上面查到,多一点耐心与细心,一定可以安装成功的!
1).MySOL的安装与验证 https://blog.csdn.net/huangmx1995/article/details/52909580
2).Qt中Soure组件的安装 https://blog.csdn.net/weixin_45525272/article/details/113062352
3).错误:driver not loaded 的原理和解决办法 https://blog.csdn.net/m15814478834/article/details/49902077
4).Qt连接Mysql https://www.bilibili.com/video/BV1Jk4y167tt?t=369
5).MySQL在QT中的使用(程序举例) https://blog.csdn.net/qq_19272431/article/details/78558153
6).解决Navicat连接MySQL出现的问题https://blog.csdn.net/qq_38455201/article/details/83024357
7).最终的测试程序 <1>在main中需要注意:db.setDatabaseName(“mydata”);中的mydata为事先在cmd命令中创建的自己的数据库,命令提示符为:create database mydata ; <2>如果想通过Navicat Premium连接MySQL,需要在cmd命令中修改用户密码,修改完毕后程序中的db.setPassword(“123456”);密码也要修改 <3> mysqlTest.pro中的程序:
QT +=sql
QT += core gui sql
<4>main.cpp中的程序:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("mydata");
db.setUserName("root");
db.setPassword("123456");
qDebug()<< QSqlDatabase::drivers();
if (!db.open())
qDebug() << "Failed to connect to root mysql admin";
else qDebug() << "open";
QSqlQuery query(db);
query.exec("create table student(id int primary key,name varchar(30))");
query.exec("insert into student values(1,'xiaogang')");
query.exec("insert into student values(2,'xiaoming')");
query.exec("insert into student values(3,'xiaohong')");
query.exec("select id,name from student where id >= 2");
while(query.next())
{
int value0 = query.value(0).toInt();
QString value1 = query.value(1).toString();
qDebug() << value0 << value1 ;
}
return a.exec();
}
8).运行结果
|