Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表 一个个人觉得比较简单小巧的软件。 下面就如何编写如何发布打包来介绍一下吧! 先下载mysql的库文件链接:http://files.cnblogs.com/files/xiaobo-Linux/mysql.zip 把两个文件放入 Qt目录\Qt5.5.0\5.5\mingw492_32\bin文件夹下直接粘贴(路径根据自己的设置) 也可以放到原来工程代码中,头文件用双引号引出即可。

Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表

一个个人觉得比较简单小巧的软件。

下面就如何编写如何发布打包来介绍一下吧!

先下载mysql的库文件链接:http://files.cnblogs.com/files/xiaobo-Linux/mysql.zip

把两个文件放入 Qt目录\Qt5.5.0\5.5\mingw492_32\bin文件夹下直接粘贴(路径根据自己的设置)

也可以放到原来工程代码中,头文件用双引号引出即可。

<!--小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/ -->

在.pro文件里输入


Qt += sql

然后执行以下Qmake识别mysql

这样在头文件中引用库函数即可了:

 

mysql语句的使用跟sqlite3使用方法是一样的。

不多说来先,下面看源码就懂啦!

pro

#-------------------------------------------------
#
# Project created by 小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/ QtCreator 2016-01-29T20:59:48
#
#-------------------------------------------------

QT       += core gui
QT += sql

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = usersdata
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

RESOURCES += \
    icon.qrc
RC_FILE=icon.rc

 

.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSqlDatabase> //数据库类
#include <QSqlQuery>    //执行语句类
#include <QSqlRecord>   //返回记录类
#include <QtSql>
#include <QApplication>
#include <QMessageBox>
#include <iostream>
#include <QtDebug>
//#include <QAbstractTableModel>
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

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


private slots:

  void on_save_clicked();
  void on_del_clicked();
  void select();
  void on_search_clicked();
  void on_back_clicked();

//小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/
private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

main。cpp

主要是链接db文件

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    //创建DB文件,创建表格
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    std::cout<<"begin sqlite"<<std::endl;
    db.setDatabaseName("userdata.db");
    if ( !db.open()){
    QMessageBox::critical(NULL, QObject::tr("Collection"), QObject::tr("failed to connect to database!"));
    return 0;
    }
    QSqlQuery query;
    query.exec("create table userdata (会员编号 integer PRIMARY KEY ,姓名 text,性别 text,登记日期 text,手机号1 int,手机号2 int,备注 text)");


    MainWindow w;
    w.show();

    return a.exec();
}//小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/


mainwindow.cpp

具体的实现代码

//小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setWindowTitle("会员信息登记表"); setWindowIcon(QIcon("xiaobo.ico"));//设置软件图标 select();//显示表格 } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_save_clicked() { QSqlQuery query; query.prepare("insert into userdata (会员编号,姓名,性别,登记日期,手机号1,手机号2,备注)values(:id,:name ,:sex,:date,:phone1,:phone2,:mark )"); query.bindValue(":id",ui->textEdit_9->toPlainText()); query.bindValue(":name",ui->textEdit->toPlainText()); query.bindValue(":sex",ui->textEdit_5->toPlainText()); query.bindValue(":date",ui->textEdit_6->toPlainText()); query.bindValue(":phone1",ui->textEdit_2->toPlainText()); query.bindValue(":phone2",ui->textEdit_3->toPlainText()); query.bindValue(":mark",ui->textEdit_7->toPlainText()); query.exec(); select(); QMessageBox::information(this,"提示","用户信息保存成功!"); } void MainWindow::on_del_clicked() { QSqlQuery query; int curRow = ui->tableView->currentIndex().row(); //鼠标选择删除第几行 QModelIndex index = ui->tableView->currentIndex(); int id=index.sibling(curRow,0).data().toInt(); query.prepare("delete from userdata where 会员编号 = :id"); query.bindValue(":id",id); query.exec(); select(); } void MainWindow::select() { QSqlQueryModel *model = new QSqlQueryModel(ui->tableView); model->setQuery(QString("select *from userdata")); ui->tableView->setModel(model); } void MainWindow::on_search_clicked() { QSqlQuery query; ui ->tableView -> clearSpans(); //tableview清空 QSqlQueryModel *model = new QSqlQueryModel(ui->tableView); query.prepare("select *from userdata where 姓名 = :name "); //like模糊查询没成功 query.bindValue(":name",ui->textEdit_8->text()); query.exec(); model->setQuery(query); ui->tableView->setModel(model); } void MainWindow::on_back_clicked() { select(); }

 

 

  Qt model和tableview的使用:  http://www.cnblogs.com/xiaobo-Linux/p/5176432.html

 

ui

 

 

 

rc资源图片加入

添加ico : http://www.cnblogs.com/xiaobo-Linux/p/5176432.html

 

软件演示:

 

 

 

 

最后形成一个独立的软件exe格式:Qt使用自带的windeployqt 生成exe来发布软件 : http://www.cnblogs.com/xiaobo-Linux/p/4678026.html

 

然后软件的安装打包:

最后用个打包软件来发布软件吧!!

 

这样就行了。

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
监控 前端开发 JavaScript
Qt Quick调试之道:跟踪、输出与打印信息的全面攻略
Qt Quick调试之道:跟踪、输出与打印信息的全面攻略
74 0
|
3月前
|
监控 数据可视化 关系型数据库
微服务架构+Java+Spring Cloud +UniApp +MySql智慧工地系统源码
项目管理:项目名称、施工单位名称、项目地址、项目地址、总造价、总面积、施工准可证、开工日期、计划竣工日期、项目状态等。
310 6
|
4月前
|
SQL 存储 关系型数据库
【MySQL】如何通过DDL去创建和修改员工信息表
【MySQL】如何通过DDL去创建和修改员工信息表
40 1
|
2月前
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
23 2
|
13天前
|
运维 监控 安全
云HIS医疗管理系统源码——技术栈【SpringBoot+Angular+MySQL+MyBatis】
云HIS系统采用主流成熟技术,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同,服务可拆分,功能易扩展;支持多样化灵活配置,提取大量公共参数,无需修改代码即可满足不同客户需求;服务组织合理,功能高内聚,服务间通信简练。
29 4
|
18天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
21天前
|
传感器 小程序 Java
Java+saas模式 智慧校园系统源码Java Android +MySQL+ IDEA 多校运营数字化校园云平台源码
Java+saas模式 智慧校园系统源码Java Android +MySQL+ IDEA 多校运营数字化校园云平台源码 智慧校园即智慧化的校园,也指按智慧化标准进行的校园建设,按标准《智慧校园总体框架》中对智慧校园的标准定义是:物理空间和信息空间的有机衔接,使任何人、任何时间、任何地点都能便捷的获取资源和服务。
18 1
|
25天前
|
消息中间件 Java 关系型数据库
JAVA云HIS医院管理系统源码、基于Angular+Nginx+ Java+Spring,SpringBoot+ MySQL + MyCat
JAVA云HIS医院管理系统 常规模版包括门诊管理、住院管理、药房管理、药库管理、院长查询、电子处方、物资管理、媒体管理等,为医院管理提供更有力的保障。 HIS系统以财务信息、病人信息和物资信息为主线,通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为医院领导及各部门管理人员提供全面、准确的各种数据。
|
25天前
|
消息中间件 缓存 运维
java+saas模式医院云HIS系统源码Java+Spring+MySQL + MyCat融合BS版电子病历系统,支持电子病历四级
云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工作站等一系列常规功能,还能与公卫、PACS等各类外部系统融合,实现多层机构之间的融合管理。
43 1
|
26天前
|
监控 数据可视化 安全
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
环境实时数据、动态监测报警,实时监控施工环境状态,有针对性地预防施工过程中的环境污染问题,打造文明生态施工,创造绿色的生态环境。
15 0
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql

推荐镜像

更多