Qt连接MySQL数据库

  • 一、软件准备
    • 1. 安装Qt和MySQL数据库以及Connector/ODBC
  • 二、为数据库连接做准备
    • 1. 创建数据库
    • 2. 利用ODBC建立连接
  • 三、连接数据库
    • 1. Qt测试连接数据库

本文基于Qt 5.14.1和MySQL5.5.62通过ODBC将数据库与后端连接在一起。

一、软件准备

1. 安装Qt和MySQL数据库以及Connector/ODBC

  • MySQL安装包下载官网

  • 选择5.5.62建议MySQL、Qt、Connector/ODBC都选择相同的位数,本文章以选择32位为例

  • Connector/ODBC官网下载,建议MySQL、Qt、Connector/ODBC都选择相同的位数,本文章以选择32位为例

二、为数据库连接做准备

1. 创建数据库

create database Test;
use Test;
create table baseInfor(no int, name char(20), passWord char(10), other  char(20));
insert into baseInfor values(1001, '学生1', '1001', '计算机科学与技术'),
				            (1001, '老师1', '1001', '讲师'),
				            (2001, '管理员', '2001', '管理员');

2. 利用ODBC建立连接

  • 在搜索框搜索ODBC,选择对应的位数

  • 进去应用,点击添加

  • 选择MySQL ODBC 8.0 Unicode Driver

  • 建议Data Source Name和Database空填一样, 填入刚才建的数据库名;User和Password填写,安装MySQL所填写的信息Port安装MySQL默认是3306,如果有修改其信息,这里要改过来

  • 点击Test,如果显示如下图的样子,恭喜你第一步成功,如果不是,请对照以上步骤,看哪里做错了

三、连接数据库

1. Qt测试连接数据库

  • 新建项目

  • 选择MinGW 32-bit其他的按默认选项,项目自己定一个,也可以用默认的

  • 点击项目的.pro,在QT += core gui后面加上 sql注意:core,gui,sql这三个词之间有空格最后点击左下角的构建

  • 测试代码,如果显示如下图结果,恭喜你数据库连接成功了
#include <QSqlQuery>
#include <QDebug>
#include <QSql>
#include <QSqlError>

int main() {
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setPort(3306);
    db.setDatabaseName("Test");
    db.setUserName("root");
    db.setPassword("root");
    db.open();
    QSqlQuery result = db.exec("select * from baseinfor");
    
    for(int i=0; i<3; i++) {
        result.next();
        qDebug() << result.value("no").toString()  << '\t' << result.value("name").toString() << '\t'
        << result.value("passWord").toString() << '\t' << result.value("other").toString() << endl;
    }

    result.clear();

    return 0;
}

更多推荐

Qt连接MySQL数据库