QT连接mysql
1、MySQL的安装与配置
可在官网https://dev.mysql.com/downloads/mysql/上下载MySQL最新版,安装过程可以参考第22篇 数据库(二)编译MySQL数据库驱动
疑难问题:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
解决方案:Qt安装MySQL驱动
2、在QT中连接MySQL数据库
(1)新建Qt Widget Application
项目名称设为mysql_try,类名默认MainWindow即可
编译器选择常用的即可。
(2)添加MySQL
打开.pro文件(我这里是mysql_try.pro),添加
QT += sql
(3)创建头文件connection.h
加入代码
#include <QMessageBox> //消息框头文件
#include <QSqlDatabase> //两个数据库相关头文件
#include <QSqlQuery>
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//表明你要用MySQL数据库
db.setHostName("host_name"); //输入你的主机名
db.setDatabaseName("database_name"); //这里输入你的数据库名
db.setUserName("user_name");
db.setPassword("your_password"); //这里输入你的密码
if (!db.open()) {
QMessageBox::critical(0, QObject::tr("无法打开数据库"),
"无法创建数据库连接! ", QMessageBox::Cancel);
return false;
} //下面来创建表
// 如果 MySQL 数据库中已经存在同名的表, 那么下面的代码不会执行
QSqlQuery query(db);
//创建名为course的表
query.exec("create table course (id int primary key, "
"name varchar(20), teacher varchar(20))");
query.exec("insert into course values(123,'456','789')");
query.exec("insert into course values(1, '英语', '张老师')");
query.exec("insert into course values(2, '计算机', '李老师')");
return true;
}
用户名之类的可以打开你安装的Mysql查看:右击MySQL的SQL Editor,
找到你要连接的数据库,右击Edit Connection
进入编辑截面后可以查看你的数据库信息
1是数据库名
2是你的主机名
3是你的用户名
4是密码
3 查看数据库
可以用MySQL也可以用专门的数据库可视化管理软件navicat或者在服务器中查看
在navicat中查看到表格确实被创建了,qt操作Mysql将在后续的章节进行叙述。