博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QT使用mysql
阅读量:4516 次
发布时间:2019-06-08

本文共 2393 字,大约阅读时间需要 7 分钟。

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
#include
namespace Ui {class SqlWidget;}class SqlWidget : public QWidget{ Q_OBJECTpublic: 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();}

 

posted on
2019-05-28 15:34 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/huipengbo/p/10937750.html

你可能感兴趣的文章
php 魔术方法 __autoload()
查看>>
js div拖动动画运行轨迹效果
查看>>
使用Struts 2框架实现文件下载
查看>>
Recipe 1.9. Processing a String One Word at a Time
查看>>
Linux 下查看系统是32位 还是64 位的方法
查看>>
MySQL 引擎 和 InnoDB并发控制 简介
查看>>
Dave Python 练习二
查看>>
.net知识体系
查看>>
第二章 第五节 获取帮助
查看>>
关于源代码及其管理工具的总结
查看>>
此文对你人生会有莫大好处的,建议永久保存 2013-07-26 11:04 476人阅读 评论(0) ...
查看>>
JQuery怎样返回前一页
查看>>
Best Time to Buy and Sell Stock
查看>>
Web服务器的原理
查看>>
记录ok6410 jlink 命令行调试uboot
查看>>
ASP.net 内置对象
查看>>
QT使用mysql
查看>>
判断有无网
查看>>
ASP.NET简介
查看>>
php开发环境搭建
查看>>