数据库课程设计报告客房管理系统.docx
《数据库课程设计报告客房管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告客房管理系统.docx(28页珍藏版)》请在沃文网上搜索。
1、摘 要对于我们,随着学习的深入,已经大体掌握了应用数据库的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C+6.0环境的软件开发,先以数据库程序开发作为开始,对Visual C+6.0环境和数据库方面的知识进行回忆和熟悉,使得在此基础上的下一个课程设计的开发进行的更加顺利。本文档详细叙述了基于Visual C+6.0环境下的客房管理系统软件的设计过程以及程序源代码。本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。程序在设计的过程中遇到的问题已及时更正,但由于编
2、者的能力和水平有限,字符统计软件和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。目录1.课程设计概述11.1.客房管理系统题目及简介11.2.开发环境概述12.总体设计12.1.项目规划12.2.系统结构流程图22.3.数据库逻辑结构33.功能模块界面及程序代码43.1.数据库登录界面模块设计43.2.主界面模块设计73.3.客房信息模块设计73.3.1 客房信息添加73.3.2 客房信息删除93.3.3 客房信息修改103.3.4 客房信息查询113.3.5 客房信息刷新133.3.6 客房预定133.4.退房记录153.4.1 退房记录
3、查询153.5.客户信息173.5.1 客户信息查询173.5.2 客户信息删除193.5.3 客房信息刷新193.5.4 入住203.5.5 换房223.5.6 退房234.触发器244.1.住房触发器244.2.退房触发器244.3.订房触发器245.设计体会25参考文献25251.1.客房管理系统题目及简介根据软件需求,要求软件具有以下功能:1)客房各种信息,包括客房的类别、当前的状态、负责人等。2) 客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。 3)退房、订房、换房等信息的修改。4)对查询、统计结果输出。1.2.开发环境概述硬件要求CPU:300MHz以上
4、的处理器内存:128MB,推荐256MB硬盘:150MB以上剩余空间显示像素:最低800*600,最佳效果1024*768软件要求操作系统:Windows2000/NT/XP/Vista/Win7。数据库:SQL Server20052.1.项目规划根据需求分析,设计程序框架。客房管理系统软件由3大部分组成。设计各部分具体功能如下:1)查询模块。客房信息和客户信息的查询,包括按房间号查询住宿情况、按客户信息查询房间状态等。 2)用户密码模块。包括用户名,密码。3)数据库模块。包括四个表,用户表,客房信息表,客户信息表,客房预订表。可以实现各个表信息的添加,修改,删除。4)系统测试。2.2.系统
5、结构流程图程序开始登录界面退房记录客户信息客房信息退出程序结束主界面修改查询查询修改入住退房换房查询2.3.数据库逻辑结构本系统采用SQL Server 2005 数据库,系统数据库名为客房管理,其中共包含4个自己建的表。表2.1 客户信息表字段名类型长度客户ID int 3姓名 nchar 10 性别 nchar 2 年龄int 4 身份证号nchar 18 房间号nchar 10 入住时间datetime 10 离开时间datetime 10 电话号码nchar 11 表2.2 客房信息表: 字段名 类型 长度 房间号 nchar 10 客房等级 nchar 10 客房类型 nchar 1
6、0 客房价格 nchar 10 客房状态 nchar 10 有无空调 nchar 10 负责人 nchar 10表2.3客房预订表: 字段名 类型 长度 姓名 nchar 10 性别 nchar 10 客房类型 nchar 10 房间号 nchar 10 预定时间 datetime 10 保留时间 int 4 联系方式 nchar 11表2.4用户表: 字段中文名 字段名 类型 长度 用户名 username nchar 10 密码 password nchar 103.1数据库登陆框设计数据库登录按钮实现的代码:void CKefangguanliDlg:OnOK() / TODO: Add
7、 extra validation hereUpdateData(TRUE); dengluset userset;CString sqlStr;CDatabase m; m.Open(_T(客房管理);if(!m.IsOpen()MessageBox(不能打开数据库!);return;if(m_strusername.IsEmpty()MessageBox(请输入用户名!,Prompt);m_cstrname.SetFocus(); return; if(m_strpassword.IsEmpty()MessageBox(请输入密码!,Prompt);m_cstrpassword.SetFo
8、cus(); return;sqlStr.Format(select * from user where username=%s AND password=%s ,m_strusername,m_strpassword);if(!userset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr)MessageBox(不能打开数据库!,Database Error,MB_OK);return ;/RECORDCOUNT/if(userset.GetRecordCount()=0)userset.Close();MessageBox(密码错误!请再次输入!,Error!);m
9、_strpassword=; m_cstrpassword.SetFocus();UpdateData(FALSE);elseuserset.Close();CDialog:OnOK();kefangguanlixitong dlg; dlg.DoModal();若用户名为空,则提示(容错性):若密码错误,则提示:3.2 主界面模块设计若再登陆界面输入的用户名和密码都正确,则进入主界面。3.3客房信息模块设计客房信息主界面:3.3.1客房信息添加实现代码:void kefangxinxi:OnButtonAdd() / TODO: Add your control notification h
10、andler code here kefangxinxiset b;UpdateData();b.Open ();if(m_fangjianhao= _T()|m_kefangdenji= _T()|m_kefangleixing = _T()|m_kefangjiage = _T()|m_kefangzhuangtai = _T()|m_youwukongtiao = _T()|m_fuzeren = _T()MessageBox(请您将信息填写完整,温馨提示);return; else int i;b.MoveFirst ();b.AddNew ();b.m_column1 =m_fang
11、jianhao;b.m_column2 =m_kefangdenji;b.m_column3 =m_kefangleixing;b.m_column4 =m_kefangjiage;b.m_column5 =m_kefangzhuangtai;b.m_column6 =m_youwukongtiao;b.m_column7 =m_fuzeren;b.Update ();b.Requery ();b.MoveLast ();m_listroom.SetItemText(i,0,b.m_column1);m_listroom.SetItemText(i,1,b.m_column2);m_listr
12、oom.SetItemText(i,2,b.m_column3);m_listroom.SetItemText(i,3,b.m_column4);m_listroom.SetItemText(i,4,b.m_column5);m_listroom.SetItemText(i,5,b.m_column6);m_listroom.SetItemText(i,6,b.m_column7);i+;MessageBox(成功添加一条客房信息);b.Close(); UpdateData(FALSE);3.3.2客房信息删除实现代码:void kefangxinxi:OnButtonDelete() /
13、TODO: Add your control notification handler code herelong row=m_listroom.GetSelectionMark();/返回列表控件中的一处文本kefangxinxiset us;CString str;str=m_listroom.GetItemText(row,0);if(str=)MessageBox(请选择一行!);elseif(MessageBox(确定要删除记录吗?,删除询问,MB_OKCANCEL)=IDOK) us.Open(); us.Move(row); us.Delete(); m_listroom.Del
14、eteItem(row);3.3.3客房信息修改实现代码:void kefangxinxi:OnButtonEdit() / TODO: Add your control notification handler code here kefangxinxiset gy;UpdateData(TRUE);int i=0,j=0;CString s;gy.Open ();gy.MoveFirst ();/指向第一条记录for(i=0;im_listroom.GetSelectionMark();i+)gy.MoveNext ();/指向下一条记录if(m_listroom.GetSelection
15、Mark()!=-1)/检索列表视图控件的选择标记 s=gy.m_column1 ;gy.Edit ();gy.m_column1 =s;if(m_kefangdenji!= _T() gy.m_column2 =m_kefangdenji;if(m_kefangleixing!= _T() gy.m_column3 =m_kefangleixing;if(m_kefangjiage!= _T() gy.m_column4 =m_kefangjiage;if(m_kefangzhuangtai!= _T() gy.m_column5 =m_kefangzhuangtai; if(m_youwu
16、kongtiao!=_T() gy.m_column6 =m_youwukongtiao;if(m_fuzeren!=_T() gy.m_column7 =m_fuzeren;m_listroom.DeleteAllItems ();/删除列表控件在中的行gy.Update ();/数据表更新gy.Requery ();/记录集更新gy.MoveLast ();OnButtonAll() ;MessageBox(成功修改一条客房信息);3.3.4客房信息查询实现代码:void kefangxinxi:OnButtonCheck() / TODO: Add your control notifi
17、cation handler code here UpdateData();kefangxinxiset set;CString s;m_listroom.DeleteAllItems();m_shuru.GetWindowText(s);if(s.IsEmpty()MessageBox(请输入查询内容!,提示,MB_ICONSTOP);return;else int n=0;set.Open();set.MoveFirst();while(!set.IsEOF()set.m_column1.TrimRight( ); set.m_column2.TrimRight( );set.m_colu
18、mn3.TrimRight( );if(set.m_column1=s)m_listroom.InsertItem(n, set.m_column1); /重新添加一行, 参数n:插入项的索引值,后面为插入的字符串 m_listroom.SetItemText(n,1,set.m_column2);/n:行索引,1:列索引,最后为:文本字符串 m_listroom.SetItemText(n,2,set.m_column3); m_listroom.SetItemText(n,3,set.m_column4); m_listroom.SetItemText(n,4,set.m_column5)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 客房 管理 系统
