lovejobs

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  138 随笔 :: 3 文章 :: 46 评论 :: 28万 阅读

1.首先要下载qt create

官网链接:https://wiki.qt.io/Main

2.下载mysql驱动mysql-connector-c,注意是c或c++版本的驱动

官网下载地址:https://dev.mysql.com/downloads/connector/

3.将连接的libmysql.dll加入到qt的安装bin目录下如我的就是:

D:\QTT\qtsoft\5.4\mingw491_32\bin

4.由于QT5.4以上支持mysql驱动,也提供了API所以用起来也很方便

配置文件引入:

QT       += core gui sql

5.代码,插入数据,头文件

复制代码
#include<QSqlDatabase>
#include<QtSql>

namespace Ui {
class SqlWidget;
}

class SqlWidget : public QWidget
{
    Q_OBJECT

public:
    explicit SqlWidget(QWidget *parent = 0);
    ~SqlWidget();


    void InitData();
    void InitUI();
    void InitConnet();


private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_3_clicked();

private:
    Ui::SqlWidget *ui;

    QSqlTableModel *m_Model;

    QSqlDatabase db;
};

#endif // SQLWIDGET_H
复制代码

6.源文件

复制代码
#include "sqlwidget.h"
#include "ui_sqlwidget.h"

SqlWidget::SqlWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::SqlWidget)
{
    ui->setupUi(this);
    InitData();

}

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

void SqlWidget::InitData()
{
    /**常见数据库驱动 QSQLITE ,QODBC,QPLSQL,SMYSQL***/
    db = QSqlDatabase::addDatabase("QMYSQL");//加入mysql数据库
    db.setHostName("localhost");
    db.setDatabaseName("db");
    //打开数据库
    if(db.open("root","123456")==false)
    {
        ui->connectstate_lb->setText("连接失败!");
        return;
    }
    ui->connectstate_lb->setText("连接成功!");
    db.exec("create table tb2(eid  vchar[10]  not null,times  vchar[10]  not null,\
          feedspeed float not null, \
        )ENGINE=InnoDB DEFAULT CHARSET=utf8");




}

void SqlWidget::InitUI()
{

}

void SqlWidget::InitConnet()
{

}

void SqlWidget::on_pushButton_clicked()
{

    m_Model = new QSqlTableModel;
    m_Model->setTable("ss");
    m_Model->setHeaderData(0,Qt::Horizontal,"eqid");
    m_Model->setHeaderData(1,Qt::Horizontal,"time");
    m_Model->setHeaderData(2,Qt::Horizontal,"feedspeed");
    m_Model->setEditStrategy(QSqlTableModel::OnManualSubmit);
}






















void SqlWidget::on_pushButton_2_clicked()
{
    if(db.isValid())
    {
        db.close();
    }
}


















void SqlWidget::on_pushButton_3_clicked()
{
    QSqlRecord rd  = m_Model->record();
    rd.setValue("eqid",ui->eqid_le->text().trimmed());
    rd.setValue("time",ui->time_le->text().trimmed());
    rd.setValue("feedspeed",ui->dsb->value());
    m_Model->insertRecord(-1,rd);
    m_Model->submitAll();

}
复制代码

 mysql文档下载地址https://download.csdn.net/download/xipengbozai/16250621?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161787991216780262540623%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fdownload.%2522%257D&request_id=161787991216780262540623&biz_id=1&utm_medium=distribute.pc_search_result.none-task-download-2~download~first_rank_v2~rank_dl_default-3-16250621.pc_v2_rank_dl_default&utm_term=mysql

posted on   lovejobs  阅读(8981)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示