乐趣区

关于c++:QT连接MySql数据库以及配置git上传到github

前言:

最近想把本人写的一个 C ++ 我的项目联合所学的 Qt,mysql 联合起来进行欠缺,后期的一些筹备工作记录如下:如有侵权,请分割删除
QT 下载链接:我的下载版本为 5.9
MySql 下载链接: 我的下载版本为 5.7

MySql 的装置配置:

1. 解压


这是我曾经装置好的,红色方框里的文件目前是没有的

2. 配置环境变量

右击我的电脑 - 属性 - 高级零碎设置(进入零碎设置)- 点击环境变量
先点击 Administrator 的用户变量 - 新建,变量名随便,变量值复制门路即可

再双击关上 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 目录

5. 执行装置语句

mysqld -install

留神:呈现 Install/Remove of the Service Denied! 阐明命令窗口不具备管理员权限

6. 进行 MySQL 的初始化

mysqld --initialize-insecure --user=mysql 

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

留神:如果呈现以下状况,阐明配置文件中 port=3306 的等号左右呈现了空格

7. 启动 mysql 服务

net start mysql

8. 批改默认账户明码

mysqladmin -u root password 123456

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

mysqladmin -u root -p password 123456 // 为了不便,新密码都设置成 123456
Enter password: // 因为因为旧明码为空,所以间接回车即可

到此为止,mysql 就解压装置结束了,咱们能够命令行输出一些 sql 语句,以供第三局部测验应用

比方:


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();}

输入:

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 目录下


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();}

运行后果:

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


3. 关上 Qt- 工具 - 选项 - 版本控制 -Git,填入装置门路:

4. 关上你须要上传的 Qt 工程,在工具中找到 Git 菜单并创立此工程的本地仓库:

会主动跳转到工程根目录下,点击抉择文件夹即可创立

胜利后工程目录下呈现 .git 暗藏目录:

5. 而后关上工具 -Git-Remote Repository-Manage Remotes 增加之前建设的 Github 近程仓库拜访地址:

名称能够轻易写一个

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

首先提交工程到本地仓库:
Git-Local Repository-Commit

而后上传 (push) 至近程仓库(进入 Qt 工程目录,在此启动 Git Bash,应用下列命令来进行上传)

上传胜利后在 Github 上就能够看到你的工程,当前批改了文件能够间接用 Qt 里的 Git 菜单来进行上传 (push) 和下载 (pull) 了

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


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

退出移动版