QT使用mysql
2024-08-31 14:07:13
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 = );
~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","")==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(,Qt::Horizontal,"eqid");
m_Model->setHeaderData(,Qt::Horizontal,"time");
m_Model->setHeaderData(,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(-,rd);
m_Model->submitAll(); }
最新文章
- hihoCoder 1185 连通性&#183;三(Tarjan缩点+暴力DFS)
- C#高级二
- 遍历set集合
- JSP/SERVLET入门教程--Servlet 使用入门
- phonegap 新窗口 inappbrowser插件
- myeclipse与数据库进行连接(无需写代码进行验证)
- poj 2226 Muddy Fields (转化成二分图的最小覆盖)
- jquery foreach
- Dictionary Size
- Web字体工具整理,网页图标字体以及使用方法整理
- cf B. Road Construction
- Android BuildConfig.DEBUG的妙用
- 一、什么是hadoop?
- asp.net EF+MVC+Bootstrap 通用后台管理系统
- SharePoint Application Page启用匿名访问
- 短时间内多个请求状态更新,导致react 不能及时响应问题总结
- Java中==与equals()的区别
- socket.error: [Errno 99] Cannot assign requested address
- [删括号][判断可行性的dp]
- codeforces493B
热门文章
- react 组件间通信,父子间通信
- H3C 交换机设置本地用户和telnet远程登录配置 v7 版本
- 数据库求闭包,求最小函数依赖集,求候选码,判断模式分解是否为无损连接,3NF,BCNF
- Theano 更多示例
- ERROR: Unrecognized command line argument: &#39;use&#39;
- SpringBoot项目集成Hystrix
- 【Android - 自定义View】之自定义View实现“刮刮卡”效果
- 堆的python实现及其应用
- 英语口语考试资料Friendships
- c语言I博客专业04