1. 首页
  2. IT资讯

QT连接MySql数据库,以及配置git上传到github

前言:

最近想把自己写的一个C++项目结合所学的Qt,mysql结合起来进行完善,前期的一些准备工作记录如下:如有侵权,请联系删除
QT下载链接:我的下载版本为5.9
MySql下载链接: 我的下载版本为5.7

MySql的安装配置:

1.解压

image
这是我已经安装好的,红色方框里的文件目前是没有的

2.配置环境变量

右击我的电脑-属性-高级系统设置(进入系统设置)-点击环境变量
先点击Administrator的用户变量-新建,变量名随意,变量值复制路径即可
image
再双击打开Administrator的用户变量中变量一栏的Path,新建一行写上 %MYSQL_HOME%bin,一步步确定就配置好了

3.准备my.ini文件

自己写个.txt文件,再把后缀名改为.ini就行了
内容如下:

[client]
port=3306
default-character-set=utf8

[mysql] 
default-character-set=utf8 

[mysqld] 
port=3306 //注意端口号
basedir=D:/MYSQL SERVER/mysql-5.7//按照自己的安装路径进行改写
datadir=D:/MYSQL SERVER/mysql-5.7/data //按照自己的安装路径进行改写
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
max_connections=200 
default-storage-engine=INNODB 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

4.快捷键win+R以管理员身份进入命令窗口并将目录切换到MySQL的安装目录的 bin目录 下

image

5.执行安装语句

mysqld -install

image.png

注意:出现Install/Remove of the Service Denied!说明命令窗口不具有管理员权限

6.进行MySQL的初始化

mysqld --initialize-insecure --user=mysql

执行命令后会在MySQL的安装目录下生成data目录并创建root用户。

注意:如果出现以下情况,说明配置文件中port=3306的等号左右出现了空格
image.png

7.启动mysql服务

net start mysql

image.png

8.修改默认账户密码

mysqladmin -u root password 123456

image.png

9.启动MySQL之后,root用户的密码为空,设置密码

mysqladmin -u root -p password 123456 //为了方便,新密码都设置成123456
Enter password: //由于由于旧密码为空,所以直接回车即可

到此为止,mysql就解压安装完毕了,我们可以命令行输入一些sql语句,以供第三部分检验使用

比如:

image
image

Qt连接MySql数据库:

1. 要使用Qt SQL的类,需要在项目文件(.pro文件)中添加

QT += sql

2. 查看自己版本Qt中可用的数据库插件:使用QSqlDatabase类中的静态函数drivers()来获取可用的驱动列表,然后遍历输出

#include <QApplication>
#include <QSqlDatabase>
#include <QDebug>
#include <QStringList>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv); 
    qDebug()<<"Avaliable drivers;";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver,drivers)
        qDebug()<<driver; 
    return a.exec();
}

输出:
image

3. 创建数据库连接:

#include "widget.h"
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
     QSqlError err;
    // 数据库对象创建
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    // 设置相关参数   
    db.setHostName("localhost");    // 主机名(地址)
    db.setPort(3306);        // 端口
    db.setUserName("root");              //用户名
    db.setPassword("123456");            //密码
     db.open();
    //测试连接
        if(!db.open())
        {
            qDebug()<<"不能连接"<<"connect to mysql error"<<db.lastError().text();
            return -1;
        }
        else
        {
             qDebug()<<"连接成功"<<"connect to mysql OK";
        }
      QApplication a(argc, argv);
    return a.exec();
}

运行结果:

连接成功 connect to mysql OK

4. 找到mysql安装文件lib中的libmysql.dll、libmysql.lib文件,然后复制到qt安装文件目录的bin目录下

image
image

Qt配置git并上传到github:

前提

注册一个github账号

https://github.com/

下载winows客户端Git

https://git-scm.com/download/win
安装时以默认选项操作即可

1. 新建Qt项目尝试使用mysql

代码如下:


#include "widget.h"
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
#include <QSqlQuery>
int main(int argc,  char *argv[])
{
 QSqlError err;
 // 数据库对象创建
 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
 // 设置相关参数
 db.setDatabaseName("student"); // 需要与数据库中的一致,我们之前新建了student数据库
 db.setHostName("localhost"); // 主机名(地址)
 db.setPort(3306); // 端口
 db.setUserName("root"); //用户名
 db.setPassword("123456"); //密码
 db.open();
 //测试连接
 if(!db.open())
 {
 qDebug()<<"不能连接"<<"connect to mysql error"  <<db.lastError().text();
 return -1;
 }
 else
 {
 qDebug()<<"连接成功"<<"connect to mysql OK";
 } 
 QSqlQuery query(db);
 query.exec("select *from user"); 
 while(query.next()){
 qDebug()<<"id="<<query.value("id")<<"name="<<query.value("name")<<endl;
 }
 
 db.close();
 QApplication a(argc, argv);
 //Widget w;
 //w.show();
 return a.exec();
}

运行结果:image

2. 登录github,新建一个仓库,并记录这个地址

image
image

3. 打开Qt-工具-选项-版本控制-Git,填入安装路径:

image

4. 打开你需要上传的Qt工程,在工具中找到Git菜单并创建此工程的本地仓库:

image

会自动跳转到工程根目录下,点击选择文件夹即可创建

image

成功后工程目录下出现 .git 隐藏目录:

image

5. 然后打开工具-Git-Remote Repository-Manage Remotes 添加之前建立的Github远程仓库访问地址:

名称可以随便写一个
image

6. 首次上传还需要如下步骤:

首先提交工程到本地仓库:
Git-Local Repository-Commit
image
然后上传(push)至远程仓库(进入Qt工程目录,在此启动Git Bash,使用下列命令来进行上传)
image
上传成功后在Github上就可以看到你的工程,以后修改了文件可以直接用Qt里的Git菜单来进行上传(push)和下载(pull)了

上传:先Local Repository-Commit——>然后Remote Repository-Push

image
image

下载:先从Remote Repository-Pull——>然后从本地还原

image

本文来自投稿,不代表程序员编程网立场,如若转载,请注明出处:http://www.cxybcw.com/199656.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code