前言:
最近想把自己写的一个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账号
下载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)了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。