基于Qt的酒店管理系统(毕业设计)

开发工具集:
Qt5.12.4、VS2017、Sqlite3轻量级数据库(免除安装数据库的烦恼)

百度网盘链接:
链接:https://pan.baidu.com/s/1rNt6EI8uAAIuHCQeGXKinA 
提取码:0mcn

效果图
在这里插入图片描述

1、加载数据库部分

void DatabaseInfo::loadDatabaseInfo()
{// 加载房间类型表loadTRoomType();// 加载房间状态列表loadTRoomState();// 加载房号列表loadRoomNumber();
}void DatabaseInfo::loadTRoomType()
{m_mapRoomType.clear();QSqlQuery query;QString strSql = "";strSql = QString("SELECT * FROM T_ROOMTYPE");query.exec(strSql);while (query.next()){TRoomType data;data.roomId = query.value("roomId").toInt();data.roomType = query.value("roomType").toString();data.roomIntroduce = query.value("roomIntroduce").toString();data.roomPrice = query.value("roomPrice").toInt();data.roomPixmap = query.value("roomPixmap").toByteArray();m_mapRoomType[data.roomId] = data;}
}void DatabaseInfo::loadTRoomState()
{m_mapRoomState.clear();QSqlQuery query;QString strSql = "";strSql = QString("SELECT * FROM T_ROOMSTATE");query.exec(strSql);while (query.next()){m_mapRoomState[query.value("id").toInt()] = query.value("roomState").toString();}
}void DatabaseInfo::loadRoomNumber()
{m_vecRoomNumber.clear();QSqlQuery query;QString strSql = "";strSql = QString("SELECT roomNumber FROM T_ROOMINFO GROUP BY roomNumber");query.exec(strSql);while (query.next()){m_vecRoomNumber.push_back(query.value("roomNumber").toInt());}
}

2、登记入住部分

void FormCheckIn::on_btnSubmitOrder_clicked()
{QString userName = ui.lEditName->text().trimmed();QString userSex = ui.rdoBtnMale->isChecked() ? "男" : "女";QString userIdNumber = ui.lEditIdNumber->text().trimmed();QString userPhone = ui.lEditPhone->text().trimmed();if (userName.isEmpty() || userIdNumber.isEmpty() || userPhone.isEmpty()){ui.lblError->setProperty("checkIn", false);ui.lblError->setText("登记信息内容不能为空!");return;}QString checkInTime = ui.lblCheckInTime->text();QString checkOutTime = ui.lblCheckOutTime->text();int checkInDays = (QDate::fromString(checkInTime, "yyyy-MM-dd")).daysTo(QDate::fromString(checkOutTime, "yyyy-MM-dd"));int userState = (m_type == RESERVER) ? 1 : 2;QString userPayment = ui.lblMoney->text();userPayment = QString::number((userPayment.left(userPayment.length() - 1)).toInt() / checkInDays);int userRoomNumber = getRoomNumber(m_roomId);QSqlQuery query;SqlManage::getDataBase().transaction(); // 数据库开启事务for (int i = 0; i < checkInDays; i++){// 插入T_USERINFO表QString tempCheckInTime = (QDate::fromString(checkInTime, "yyyy-MM-dd")).addDays(i).toString("yyyy-MM-dd");QString tempCheckOutTime = (QDate::fromString(checkInTime, "yyyy-MM-dd")).addDays(i + 1).toString("yyyy-MM-dd");QString strSql = QString("INSERT INTO T_USERINFO(userName, userSex, userIdNumber, userPhone, userRoomNumber, userCheckInTime, userCheckInDays,""userCheckOutTime, userState, userPayment) values ('%1', '%2', '%3', '%4', %5, '%6', %7, '%8', %9, %10);").arg(userName).arg(userSex).arg(userIdNumber).arg(userPhone).arg(userRoomNumber).arg(tempCheckInTime).arg(1).arg(tempCheckOutTime).arg(userState).arg(userPayment.toInt());qDebug() << strSql;if (!query.exec(strSql)){SqlManage::getDataBase().rollback();	// 数据库回滚操作,撤销所有插入语句ui.lblError->setProperty("checkIn", false);ui.lblError->setText("订单提交失败!");return;}strSql = QString("UPDATE T_ROOMINFO SET roomState = %1 WHERE roomNumber = %2 AND roomDate = '%3'").arg((m_type == RESERVER) ? Hotel::ROOM_STATE_PRE_PLEDGE : Hotel::ROOM_STATE_LIVING).arg(userRoomNumber).arg(tempCheckInTime);qDebug() << strSql;if (!query.exec(strSql)){SqlManage::getDataBase().rollback();	// 数据库回滚操作,撤销所有插入语句ui.lblError->setProperty("checkIn", false);ui.lblError->setText("订单提交失败!");return;}}SqlManage::getDataBase().commit();	// 数据库提交事务,真正执行所有插入语句ui.lblError->setProperty("checkIn", true);ui.lblError->setText("订单提交成功!");setBtnEnabled(false);// 更新客房界面信息UpdateFormInfo::addFormInfo(Hotel::UPDATE_CHECK_IN);
}

3、房间图片部分

void FormUpdateRoomPixmap::updatePixmap()
{int i = 0;QSqlQuery query;QString strSql = "SELECT roomPixmap FROM T_ROOMTYPE";query.exec(strSql);while (query.next()){QByteArray byteArray = query.value("roomPixmap").toByteArray();QPixmap pixmap;pixmap.loadFromData(byteArray);QSize size = m_listLables[i]->size();m_listLables[i++]->setPixmap(pixmap.scaled(size));}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/46549.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】251毕业论文管理系统设计与实现

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本毕业论文管理系统就是在这样的大环境下诞生&a…

java毕业设计——基于java+mysql+socket的即时通讯软件设计与实现(毕业论文+程序源码)——即时通讯软件

基于javamysqlsocket的即时通讯软件设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于javamysqlsocket的即时通讯软件设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模…

毕业设计-基于微信小程序的图书推荐前台系统

目录 前言 课题背景与简介 实现设计思路 一、图书推荐微信小程序前台模块设计与实现 二、前台设计关键代码 三、总结 实现效果样例 更多帮助 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费…

基于大数据平台的毕业设计

前言 2022年最新大数据毕设文章&#xff1a; 基于大数据平台的毕业设计01&#xff1a;基于Docker的HDP集群搭建 最近有很多人问我&#xff0c;大数据专业有什么好的毕设项目&#xff0c;我就简单的回复了一下。也有直接问我要源码的… 所以就抽空写一写自己毕业设计的一个思…

博网即时通讯软件的设计与实现毕业设计(论文+PPT+源码)

幻灯片1 选题背景及意义 研究技术与方法 设计内容与模块 设计的环境、方法及措施 幻灯片2 选题背景及意义 1 即时通讯软件使人与人的沟通突破时空极限&#xff0c;突破环境极限&#xff0c;使自我突破心理极限。 1 背景 2 作为使用频率最高的网络软件&#xff0c;即时通…

数据可视化方向的毕业设计详细思路

距离我本科答辩顺利通过已经过去十几天了&#xff0c;我决定把本科阶段最后的小成果做个总结分享给想做此方向项目的小伙伴们&#xff0c;希望能让你们想在动手实操时有项目可供参考&#xff0c;有实现思路可供学习&#xff0c;演示视频先呈现给大家。 一、研究目的及意义 &a…

毕业设计-后台管理系统

关于代做毕业设计的历程&#xff1a; 关于毕设算是大学最重要和最能锻炼自己的课程设计之一了&#xff0c;但是相对于一部分大学生来说&#xff0c;要想自己凭空想出一个系统&#xff0c;而且是使用大学所学的技术是比较难做出一个像样的毕业设计&#xff0c;这是发自我个人的观…

毕业设计- 基于Android的教务管理系统(带流程图)

—— 等风来不如追风去&#xff0c;追逐的过程就是人生的意义。 项目介绍 系统用来管理班级的日常班务信息&#xff0c;系统角色分为三种管理员、班委和学生。 管理员&#xff1a;拥有最高权限&#xff0c;可以管理即增加、查询、修改和删除所有数据。 班委&#xff1a;不能申批…

本科毕业论文-软件开发类-《基于Android端开关控制系统的设计与实现》-论文模板

目 录 前言 一、任务书 二、目录 三、论文正文 摘要 ABSTRACT 1.引言 2.系统开发环境 2.1可行性分析 2.2 开发工具介绍 3.需求分析 3.1 功能需求分析 3.2 数据流程图 4.总体设计 4.1 系统整体模块设计 4.2 红外编码设计与蓝牙通信设计 4.3 系统功能结构设计 …

计算机毕业设计源码——基于Android的真人社交游戏辅助应用开发

编号 本科生毕业设计&#xff08;论文&#xff09; 题目&#xff1a; 真人社交游戏辅助应用开发 专业 学 号 学生姓名 指导教师 摘 要 时至今日&#xff0c;社交已成为人们生活中必不可少的一部分&#xff0c;社交网络的盛行已经成为一种必然趋势&#xff0e;与此同时&a…

Mixlab Insight:不同职业对GPT-4的看法

shadow LLM 、生成式人工智能&#xff0c;大量企业需要升级改造内部的岗位和工作流&#xff0c;至少包括&#xff1a;商业模式改造升级、团队岗位的职业要求和人才、虚拟/仿真的生产线。 MixGPT&#xff1a;在GPT4上线当天&#xff0c;我们开启了激烈的讨论&#xff0c;关于职业…

Android 大作业之个人博客新闻App

用到的技术&#xff1a; 网络编程、多线程编程、listview、数据库、等等 效果图 **注&#xff1a;**新闻数据来源“聚合数据”API接口&#xff0c;如果没显示出来&#xff0c;是调用次数超过了&#xff0c;最好自己申请API接口&#xff08;免费&#xff09; 本设计代码已上…

Android 优秀文章收集整理集合

转载 自 https://github.com/jiang111/awesome-android-tips 记录自己遇到的比较有价值的Android相关的blog MaHua是online md编辑器&#xff0c;挺好用。 本是自己记录一些有价值的blog&#xff0c;没成想有不少star的&#xff0c;为了方便查看&#xff0c;等有时间就会进行…

计算机技能高考素材,高中作文万能通用素材 2021高考必备作文素材

在平时的时候&#xff0c;多积累一些作文素材&#xff0c;有助于语文的写作&#xff01;下面不妨和高三网小编一起来了解下关于2021高考必备作文素材&#xff0c;希望这些素材能帮助我们在作文中有更好的发挥。 高中作文万能通用素材&#xff1a;由“提笔忘字”谈汉字传承 曾几…

四级英语图表作文真题计算机,2016年四级作文模板之图片与图表

2016年四级作文模板之图片与图表 英语四六级考试改革之后&#xff0c;图画作文考的比较多&#xff0c;无论是图画作文还是主题作文&#xff0c;下面的结构是可以通用的&#xff0c;考生可以重点记下图画作文与主题作文的句型。 一、看图作文模板 第一段&#xff1a;简要描述图画…

个人仿制android QQ、android大作业

仿制android QQ说明 app下载地址&#xff1a;http://download.csdn.net/download/h18733517027/10258434 服务器下载&#xff1a;http://download.csdn.net/download/h18733517027/10258435 说明下载&#xff1a;http://download.csdn.net/download/h18733517027/10258480 …

仿写App,如何获取app内的图片资源?以安卓机为例

​ 获取到App的apk包 有些安卓手机中&#xff0c;长按该app图标&#xff0c;会有个弹窗&#xff0c;弹窗里有分享按钮&#xff0c; 分享出去的就是一个apk包 修改后缀 把apk包的后缀名改为.zip 解压zip包 使用解压工具&#xff0c;解压zip包&#xff0c;会获得该app内的所…

豁然开朗篇:安卓开发中关于内存那些事

你所写的每一句代码&#xff0c;在内存里是怎么分布的&#xff0c;搞清楚这个问题&#xff0c;你对编程的理解又上升到一个高度了 前言 首先&#xff0c;如果对于java虚拟机的内存划分不清楚的同学&#xff0c;可以先去了解一下java虚拟机把java程序加载到内存以及内存的分布是…

基于Android的背单词软件【源码+文档+答辩PPT】

目录 1、关于本课题 2、开发平台 3、系统分析 3.1 国外安卓应用发展的现状 3.2 国内安卓应用发展的现状 3.3 系统构建目标分析 3.4 系统构建功能分析 3.4.1 系统的总体架构 3.4.2 系统功能模块 3.4.3 应用功能规划图 4、系统设计 4.1 前台背单词展示子系统详细设计 …

自动驾驶:硬件平台

自动驾驶的研发流程 大致可以分为以下4个步骤&#xff1a; 软件在环 软件在环是基于仿真和模拟的软件仿真&#xff0c;类似于赛车类游戏。即是在软件系统里仿真模拟出真实的道路环境如光照、天气等自然环境&#xff0c;开发者可将自动驾驶代码开发完毕后&#xff0c;在仿真系…