关于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——>而后从本地还原

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理