推荐:《mysql视频教程》
由于毕设需要用到qt读取数据库中的数据,并将数据保存至数据库中。花了一天的时间,总算实现了从qt中读取数据库中的数据。网上相关资料很多,但是写得不是很全,中间出现了一些问题,解决起来比较麻烦。所以本文从mysql下载、安装,qt连接mysql尽可能写详细,若有不足,还请见谅。
1、qt5.5下载
本文使用的 windows32 qt5.5 版本为(qt-opensource-windows-x86-mingw492-5.5.10),可从我的百度云:https://pan.baidu.com/s/1xsvmgd3qd-j0bhpvotmvka下载
若选用高版本,具体安装方法可自行百度。
2、mysql5.6下载
由于qt选用的windows32位,所以mysql也应选择windows32位版本为mysql-5.6.39-win32.zip。(若qt选择的为windows64位,则mysql应选择windows64位),
可从我的百度云:https://pan.baidu.com/s/1xsvmgd3qd-j0bhpvotmvka下载。
若选用高版本,具体下载方法可自行百度。
3、mysql5.6安装
1)将mysql-5.6.39-win32.zip解压至d盘中的mysql server,且重命名为mysql-5.6。解压修改后的结果如图1-1所示。
图1-1
2)修改my-default.ini,修改后如图1-2所示
图1-2
3)增加环境变量。右键我的电脑,点属性,点高级系统设置,点环境变量,在path中添加 ;d:\mysql server\mysql-5.6\bin(分号不要忘了,根据自己的安装目录改写),点击确认就行。
4)在c盘中找到cmd.exe,并以管理员权限打开。分别执行以下指令:
d:
cd mysql server\mysql-5.6\bin
mysqld -initalize -user=mysql -console
mysqld -install,输入该指令后会打印 service successfully installed
net start mysql,输入该指令后会打印mysql服务已经启动成功。至此mysql5.6已经安装成功,并且已运行。
4、mysql登陆与修改密码
1)在cmd.exe软件中,继续输入sql相关指令:
mysql -u root -p,输入该指令后出现 enter password: ,第一次登陆直接回车,进入mysql软件。如图1-3
图1-3
2)增加root的密码。
mysql> set password for root@localhost=password('88888888');
输入该指令后ront 的密码变为88888888。(在编写qt程序中需要用到用户名为root和密码为88888888)
mysql>exit
输入该指令后退出。
重新登陆,输入 mysql -u root -p,输入该指令后出现 enter password: ,输入88888888。若输入密码不是88888888,则会出现报错,如图1-4所示
图1-4
3)添加测试表,在test库中添加student表,并添加一些数据。具体操作如图1-5所示,至此mysql部分已经全部完成。(注意是在test库中添加,对应qt应选择test;
图1-5
5、建立qt程序
1)将mysql-5.6文件lib目录下的libmysql.dll和libmysqld.dll复制到qt5.5中的mingw493_32的bin文件下。如图1-6所示;
图1-6
2)新建项目,选择qt console application。命名项目名为sql_test;
在sql_test.pro文件中添加 qt +=sql
main.cpp改为
1 #include <qcoreapplication> 2 #include <qsqldatabase> 3 #include <qsqlquery> 4 #include <qsqlerror> 5 #include <qtdebug> 6 void connect_mysql() 7 { 8 qsqldatabase db=qsqldatabase::adddatabase(qmysql); 9 db.sethostname(127.0.0.1); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)10 db.setport(3306); //连接数据库端口号,与设置一致11 db.setdatabasename(test); //连接数据库名,与设置一致12 db.setusername(root); //数据库用户名,与设置一致13 db.setpassword(88888888); //数据库密码,与设置一致14 db.open();15 if(!db.open())16 {17 qdebug()<<不能连接<
图1-7
结果表明,qt已经成功读取mysql中的student表。
可以在 https://github.com/xtuwang/qt_project/tree/xtuwang-patch-1中下载该项目。
以上就是mysql如何和qt连接的详细内容。
