QT使用mysql
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(); }
QT使用mysql的更多相关文章
- QT连接MySQL
Qt 连接MySQL 是件很简单的事,但也有可能很不简单. QT给我们的提示只有 QMYSQL driver not loaded,让我们毫无头绪.访问其他数据库也可以用同样的方法解决. Qt 访问 ...
- centos7下编译qt的mysql驱动
在编译mysql驱动之前,首先要安装mysql,可以使用yum安装,这里将不再介绍. 在将qt和mysql都安装好之后,首先找到mysql的头文件以及他的共享库,我的mysql是使用yum安装的,头文 ...
- Mac下Qt连接MySQL 驱动问题
Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...
- QT连接mysql中文显示问题
亲测OK! #vim /etc/mysql/my.cnf [mysqld]下面加入: default-character-set=utf8 重启mysql /etc/init.d/mysql rest ...
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...
- Ubuntu12.04下Qt连接MySQL数据库
本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件, ...
- Ubuntu 15 下 Qt 配置mysql链接及基本操作
序 最近需要在Linux下做一个unix网络编程项目,选择了Ubuntu 最新版本15.04 : 开发环境:Qt 5 数据库: MySQL 安装Qt 和 MySQL 简要介绍一下软件的安装! 安装Qt ...
- Qt编译mysql以及创建表后进行导入操作
鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学. 首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱 ...
- windows下编译qt的mysql驱动
windows下编译qt的mysql驱动cd %QTDIR%\src\plugins\sqldrivers\mysqlqmake –o Makefile INCLUDEPATH+="C:\M ...
- QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)
2010/04/23:Fixes : 更新批处理,以兼容WIN7. 第一次系统地玩QT,于是诞生了此预备式: [QT版本4.6.0(VS2008编译版),开发平台推荐使用Qt Creator(最新1. ...
随机推荐
- Java Web登录界面
非常激动的开通了我的第一个博客,在这里希望大家能多多指点,相互学习. 一个简单的登录界面 首先我们先把这个登录分为三块: 一.数据库 数据库我用的是MYSQL: 二.前端 三.后台 1. 后台代码的 ...
- 【Luogu P1265】公路修建
Luogu P1265 本来一开始我用的Kruskal--但是由于double类型8字节,所以MLE了. 很容易发现这是一道最小生成树的题目. 值得注意的是题目中给的第二个限制,只存在唯一情况即这个环 ...
- 【集训Day1 测试】【USACO】照相
照相(fairphoto) [题目描述] 有N 头奶牛站在一条数轴上,第 i 头奶牛的位置是 Pi,奶牛不会重叠站在同一个位置, 第i 头奶牛的颜色是 Ci,其中 Ci 要么是字符'G'要么是字符'H ...
- List接口下的集合
集合框架 List接口下的集合特点: Set接口下的集合特点: 1.都是有序的 1.都是无序的 2.都有下标 2.没有下标 3.都可以重复 3.不可重复(覆盖) List接口下的集合 1.ArrayL ...
- 一招教你如何修复MySQL slave中继日志损坏问题
[摘要]MySQL的Crash safe slave是指slave crash后,把slave重新拉起来可以继续从Master进行复制,不会出现复制错误也不会出现数据不一致. PS:华为云数据库特惠专 ...
- postgresql,postgis,geoserver 发布地图服务,并用.net mvc openlayers3进行显示
1.所需工具 postgres版本 9.6.1 对应的postgis geoserver 2.8.2 openlayers3 2.将postgres postgis ,geosever安装好,再用如下 ...
- java.security.NoSuchProviderException: no such provider: BC 的问题解决
第一种方式 1.修改以下两个文件 %JDK_Home%\jre\lib\security\java.security %JRE_Home%\jre\lib\security\java.security ...
- vue-socket.io使用教程与踩坑记录
全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/12018866.html,多谢,=.=~ (如果对你有帮助的话请帮我点个赞啦) 请先允许我狠狠吐个 ...
- segment树(线段树)
线段树(segment tree)是一种Binary Search Tree或者叫做ordered binary tree.对于线段树中的每一个非叶子节点[a,b],它的左子树表示的区间为[a,(a+ ...
- set容器
set容器简介: 1) set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. 2) set采用红黑树变体的数据结构实现,红 ...