QT笔记(2)——MySQL的安装Qt的配置

本文详细介绍了如何在桌面应用程序中配置MySQL数据库与Qt框架的集成。包括MySQL的安装步骤、配置注意事项、Qt与MySQL的连接设置及示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql数据库之前写web网站时用到过,感觉很好用,之前是phpnow将php+mysql+apache的集成安装包,所以安装配置很方便,但是现在转为桌面应用,要配置mysql和qt,所以这里重新记录一下配置方法。

1、下载mysql数据库,下载地址:https://dev.mysql.com/downloads/installer/5.6.html;我下载的版本是:mysql-installer-community-5.6.35.0.msi,直接安装即可;这里叨叨两句:以前mysql是sun公司的开源项目,也就是大名鼎鼎的开发java公司的那个公司,不过后来经营不善被甲骨文收购了,而甲骨文也是搞数据库发家的,不过甲骨文不是开源的,所以mysql落在甲骨文手里前途不明,所以向谷歌,facebook等都转为社区维护的mysql版本了,不过使用方法基本相同这里不妨碍学习。

2、过程配置的注意要与自己的qt相应的版本,是32位的还是64位的,不然配置不了,比如下红圈部分:

3、然后是设置数据库的名称和密码,一般用户就是root,密码要记住了不然待会qt就没办法访问,截图如下:

4、配置qt与mysql,将\MySQL\MySQL Server 5.6\lib目录下的:libmysql.lib,mysqlclient.lib,libmysql.dll复制到\Qt\Qt5.5.1\5.5\mingw492_32\bin目录下。

5、将libmysql.dll复制到C:\Windows下,不然连接时候会报错:如下图:

6、运行qt代码;新建qt项目,在pro里添加QT+=sql;实验源代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QtSql>
#include <iostream>

using namespace std;
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
          ui->setupUi(this);
          QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
          db.setHostName("localhost");
          db.setDatabaseName("test");
          db.setUserName("root");
          db.setPassword("***");
          //这里“***”填写自己相应的密码

          if (!db.open())
              qDebug() << "Failed to connect to root mysql admin";
          else
           std::cout<<"succeed!"<<std::endl;
           QSqlQuery query;
             query.exec("create table hello(id bigint not null auto_increment,name varchar(255),age bigint,primary key (id))");
             query.exec("insert into hello(name, age) values('呵呵', 18)");
             query.exec("insert into hello(name, age) values('xiaonan', 19)");
             query.exec("insert into hello(name, age) values('xiaobei', 20)");
             query.exec("insert into hello(name, age) values('xiaodong', 21)");

           QSqlQueryModel *model = new QSqlQueryModel;
             model->setQuery("select * from hello");
             model->setHeaderData(0, Qt::Horizontal, "id");
             model->setHeaderData(1, Qt::Horizontal, "名字");
             model->setHeaderData(2, Qt::Horizontal, "年龄");

            ui->tableView->setWindowTitle("QSqlQueryModel");
            ui->tableView->setModel(model);

            db.close();

/*
      QSqlDatabase dbSQL=QSqlDatabase::addDatabase("QMYSQL");
      dbSQL.setHostName("127.0.0.1");
      dbSQL.setPort(3306);
      dbSQL.setDatabaseName("test");
      dbSQL.setUserName("root");
      dbSQL.setPassword("****");

       if( !dbSQL.open() )
        {
            qDebug()<<"this,warning,failure";
        }
        else
        {
            qDebug()<<"this,ok,success";
        }
*/

}

MainWindow::~MainWindow()
{
    delete ui;
}


 


运行效果如下图:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值