开发工具集:
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));}
}

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

  1. java+mysq基于SSM的酒店管理系统#毕业设计

    项目编号:java+mysqlssm217基于SSM的酒店管理系统#毕业设计 运行环境: 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用 ...

  2. 计算机毕业设计ssm基于java的酒店管理系统tpk08系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于java的酒店管理系统tpk08系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于java的酒店管理系统tpk08系统+程序+源码+lw+远程部署 本源码技术栈: 项目 ...

  3. 基于javaweb的酒店管理系统(java+ssm+layui+mysql)

    基于javaweb的酒店管理系统(java+ssm+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/st ...

  4. 基于javaweb的酒店管理系统(java+ssm+jsp+mysql)

    基于javaweb的酒店管理系统(java+ssm+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等 ...

  5. (附源码)ssm华辰酒店管理系统 毕业设计 021206

    华辰酒店管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课 ...

  6. (附源码)ssm华辰酒店管理系统 毕业设计021206

    华辰酒店管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课 ...

  7. java 酒店系统_基于JAVA的酒店管理系统

    <基于JAVA的酒店管理系统>由会员分享,可在线阅读,更多相关<基于JAVA的酒店管理系统(31页珍藏版)>请在人人文库网上搜索. 1.酒店管理系统,专业: 姓名: 指导教师, ...

  8. 酒店管理系统-毕业设计

    酒店管理系统-毕业设计 主要分为两部分 后台管理 登录 注销 用户管理 员工管理 房间管理 商品管理 留言管理 开房/退房管理 权限管理 用户界面 登录 注册 首页 客房查看 客房商品 退订房管理 留 ...

  9. 基于PHP的酒店管理系统

    基于PHP的酒店管理系统 一 项目介绍 可搭建在phpstudy集成环境下,两分钟快速部署!!! 基于PHP+Mysql实现的酒店管理系统,功能完善,UI具有很高的美感.可在phpstudy下快速部署 ...

最新文章

  1. C#写webservice(2)
  2. Luogu P2982 [USACO10FEB]慢下来 Slowing down | dfs序、线段树
  3. aspnet_regiis.exe -i 执行报错
  4. sql 逐行更新_sql优化面试题
  5. ssis 角本组件更新数据_使用SSIS脚本组件作为数据源
  6. 除了 Python,为什么机器学习还需要一种新的编程语言?
  7. Gartner:2017年全球公有云服务市场增长18%
  8. 各种数字显示屏接口:LVDS, DVI, HDMI, DisplayPort, DSI
  9. 181117每日一句
  10. java版本位数_java 如何查看jdk版本位数
  11. Jetson Nano 系列之:25FPS性能优化之路
  12. cv2.VideoCapture.get()用法
  13. python的标准随机数生成器模块_Python:带均值和标准差的随机数生成器
  14. 忆过去 想未来 人有情
  15. hourglass网络详解+pytorch代码
  16. Invalid prop: custom validator check failed for prop “pagination“.
  17. 【ps】将歪的图片变正
  18. 对话中科易安市场经理:联网智能门锁之运行、运营与运维
  19. 拿下宝马中国量产订单的四维图新,如何在自动驾驶地图领域内外兼修?...
  20. 2023门店管理工具如何选?这5款最适合中小商户用

热门文章

  1. 图解 K8S(05):调度利器之标签与选择器(分组调度)
  2. 基于javaweb+jsp的生病慢病报销管理信息系统(java+MySQL+Jdbc+Servlet+Jsp)
  3. docker部署轻量级文件浏览器------filebrowser
  4. Java经典面试题(面中率高)
  5. thinkphp5.1模板中获取资源文件路径
  6. 为什么结构体指针需要malloc申请空间
  7. chrome收藏夹整理
  8. c#/winform Directx编程入门之实现立方体
  9. DirectX12 - Pipeline(管线)
  10. hadoop归档命令archive