数据库课设房屋出租管理系统制作.docx
- 文档编号:9836430
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:19
- 大小:104.49KB
数据库课设房屋出租管理系统制作.docx
《数据库课设房屋出租管理系统制作.docx》由会员分享,可在线阅读,更多相关《数据库课设房屋出租管理系统制作.docx(19页珍藏版)》请在冰点文库上搜索。
数据库课设房屋出租管理系统制作
成绩评定表
学生姓名
陈敏
班级学号
08
专业
电子信息科学与技术
课程设计题目
房屋出租管理系统
评
语
组长签字:
成绩
日期
2015年1月9日
课程设计任务书
学院
信息科学与工程学院
专业
电子信息科学与技术
学生姓名
陈敏
班级学号
08
课程设计题目
房屋出租管理系统
实践教学要求与任务:
系统功能
1.房产管理:
实现租房与退房两个功能。
2.信息管理:
即基本表查询,
(1)出租人信息:
用于查询和更新出租人详细信息;
(2)承租人入住管理:
用于实现屋主信息查询及房屋信息条件查询。
3.客户详细信息:
该模块用于查询客户信息,即视图查询,
(1)客户信息(基于三张表):
查询租者姓名、房屋类型、价格、承租者ID、房屋ID、入住日期、交租日期、交租金额、出租人租金和实际利润等。
(2)房屋信息视图(基于二张表):
查询出租人姓名、房屋类型、合同编号、房屋ID、租金、房屋位置、房屋楼层、额定人数、实住人数、面积、价格、连续方式和计划利润等。
4.帮助,退出和登录:
各自实现相应的功能。
数据库的设计
包含以下实体及其属性
1.
(1)boss出租人信息管理:
(出租人ID、出租人姓名、联系方式、合同编号pno、出租人租金cash、备注)。
在该模块中添加一条新的出租人信息,根据用户的需求完成相应的添加、插入、删除等操作;
(2)house房屋信息管理:
(房屋ID、出租人ID、房屋类型、房屋位置、房屋楼层、额定人数、实住人数、面积、价格、是否有空调、是否有有线电视、是否有宽带、备注)。
界面是显示所有的房屋信息,完成相应的添加、插入、删除等操作;
(3)Guest承租者入住管理:
(承租者ID、承租者姓名、性别、身份证号、房屋ID、入住时间、交租时间、租金cash、合同编号pno、备注)。
完成相应的添加、插入、删除等操作;
工作计划与进度安排:
第20周.算法设计
第20周.编写程序代码
第20周.调试程序
第20周.答辩、验收程序
指导教师:
2015年1月日
专业负责人:
2015年1月日
学院教学副院长:
2015年1月日
房屋出租管理系统
一、课程设计的目的和意义
数据库课程设计是在学生系统的学习了数据库原理课程后,按照关系型数据
库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的数据库管理系统。
通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。
大型数据库课程设计是计算机专业集中实践性教学环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。
其目的在于加深对大型数据库课程理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力。
培养学生正确的设计思想,理论联系实际的工作作风,严肃认真、实事求是的科学态度和勇于探索的创新精神。
培养学生综合运用所学知识与生产实践经验,分析和解决工程技术问题的能力。
二、需求分析
房屋出租管理系统体现在对各种信息的保存、修改和查询和视图的建立。
经过仔细分析系统需求之后可知其主要功能,具体功能如下:
可以根据表查询出三个表之间属性之间的关系
系统总体设计图如图1所示:
图1整体设计图
E-R图
三、概念结构设计(E-R图)
实体属性图
四、逻辑结构设计
将E-R图转换成关系模式:
(1)承租者入住管理:
(承租者ID、房屋ID、出租人ID、承租者姓名、性别、身份证号、房屋ID、入住时间、交租时间、租金cash、合同编号、备注)
(2)房屋信息管理:
(房屋ID、出租人ID、房屋类型、房屋位置、房屋楼层、额定人数、实住人数、面积、价格、是否有空调、是否有有线电视、是否有宽带、备注)
(3)出租人信息管理:
出租人ID、出租人姓名、联系方式、合同编号pno、出租人租金cash、备注)
五、数据库实施与维护
建立数据库打开SQLServer2008,建立数据库:
房屋出租管理系统。
1.建表:
(1)在客房系统数据库中,根据关系,添加承租人入住管理Guest表,设置各属性,其中承租者ID为主键,出租人ID和房屋ID为外码,都不允许为空,并在表中输入数据;
(2)再添加房屋信息管理house表,设置房屋ID为主键,不允许为空,在表中输入数据;
(3)添加出租人信息管理boss表,设置出租人ID为主键,不允许为空,在表中输入数据。
2.建立视图
(1)建立客户信息视图:
基于三张表:
出租人信息表、房屋信息表、承租者客户表承(租者姓名、房屋类型、价格、承租者ID、房屋ID、入住日期、交租日期、交租金额、出租人租金和实际利润)
(2)房屋信息视图(RoomInfo)基于二张表:
出租人信息表、房屋信息表(出租人姓名、房屋类型、合同编号、房屋ID、租金、房屋位置、房屋楼层、额定人数、实住人数、面积、价格、连续方式和计划利润)
六、界面设计与代码
1.登录界面
输入已在数据库中的vip用户或普通用户的用户账号和密码,这里选择vip用户,点击vip登录按钮,如图9所示:
图9
提示登录成功,单击确定进入主窗体
主要代码如下:
在引用空间添加:
using;
privatevoidbutton2_Click(objectsender,EventArgse)
{stringuserName=;
stringpassword=;
stringconnString=@"DataSource=陈敏\SQL;InitialCatalog=Hourse_Renting;IntegratedSecurity=True;Pooling=False";
SqlConnectionconnection=newSqlConnection(connString);
//获取用户名和密码匹配的行的数量的SQL语句
stringsql=String.Format("selectcount(*)from[User]whereUserName='{0}'andPassword='{1}'",userName,password);
try
{
connection.Open();//打开数据库连接
SqlCommandcommand=newSqlCommand(sql,connection);//创建Command对象
intnum=(int)command.ExecuteScalar();//执行查询语句,返回匹配的行数
if(num>0)
{
//如果有匹配的行,则表明用户名和密码正确
MessageBox.Show("欢迎进入房屋出租系统!
","登录成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
MainFrmmainForm=newMainFrm();//创建主窗体对象
mainForm.Show();//显示窗体
this.Visible=false;//登录窗体隐藏
}
else
{
txtPwd.Text="";
MessageBox.Show("您输入的用户名或密码错误!
","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
finally
{
connection.Close();//关闭数据库连接
}
}
privatevoidbtnCancel_Click(objectsender,EventArgse)
{
txtName.Text="";
txtPwd.Text="";
txtName.Focus();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringuserName=;
stringpassword=;
stringconnString=@"DataSource=陈敏\SQL;InitialCatalog=Hourse_Renting;IntegratedSecurity=True;Pooling=False";
SqlConnectionconnection=newSqlConnection(connString);
//获取用户名和密码匹配的行的数量的SQL语句
stringsql=String.Format("selectcount(*)from[vipUser]whereUserName='{0}'andPassword='{1}'",userName,password);
try
{
connection.Open();//打开数据库连接
SqlCommandcommand=newSqlCommand(sql,connection);//创建Command对象
intnum=(int)command.ExecuteScalar();//执行查询语句,返回匹配的行数
if(num>0)
{
//如果有匹配的行,则表明用户名和密码正确
MessageBox.Show("欢迎进入房屋出租系统!
","登录成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
ainFrmmainForm=newMainFrm();//创建主窗体对象
mainForm.Show();//显示窗体
this.Visible=false;//登录窗体隐藏
}
else
{
txtPwd.Text="";
MessageBox.Show("您输入的用户名或密码错误!
","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
tch(Exceptionex)
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
finally
{
connection.Close();//关闭数据库连接
}
}
}
}
2.主界面
如图10所示:
图10
添加代码如下:
privatevoid退出CToolStripMenuItem_Click(objectsender,EventArgse)
{Application.Exit();}
privatevoid帮助YToolStripMenuItem_Click(objectsender,EventArgse)
{Aboutss=newAbout();
ss.Show();
tssMsg.Text=ss.Text;//在状态栏中显示操作内容
}
privatevoid入住管理ToolStripMenuItem_Click(objectsender,EventArgse)
{Guestpapeer=newGuest();
papeer.Show();
tssMsg.Text=papeer.Text;//在状态栏中显示操作内容
}
privatevoid出租人信息管理ToolStripMenuItem_Click(objectsender,EventArgse)
{roomshowgg=newroomshow();
gg.Show();
tssMsg.Text=gg.Text;//在状态栏中显示操作内容
}
privatevoid退房ToolStripMenuItem_Click(objectsender,EventArgse)
{checkoutyc=newcheckout();
yc.Show();
tssMsg.Text=yc.Text;//在状态栏中显示操作内容
}
privatevoid租房ToolStripMenuItem_Click_1(objectsender,EventArgse)
{租房aa=new租房();
aa.Show();
}
privatevoid详细视图ToolStripMenuItem_Click_1(objectsender,EventArgse)
{SVIEWSS=newSVIEW();
SS.Show();
}
3.信息管理
(1)单击“信息管理”下拉菜单选择“出租人信息”,选择要查找的表出租人信息表(boss)或者房屋信息表(house),以及查询字段(即条件)和内容,按姓名查询或者按房间号查询,弹出对应的窗体,如图11所示
图11
实现主要代码:
privatevoid房产总表浏览_Load(objectsender,EventArgse)
{stringconnString=@"DataSource=陈敏\SQL;InitialCatalog=Hourse_Renting;IntegratedSecurity=True;Pooling=False";
stringsql="SELECT*FROMhouse,bosswherehouse.bossID=boss.bossID";
SqlConnectionconnection=newSqlConnection(connString);
SqlDataAdapterdataAdapter=newSqlDataAdapter(sql,connection);
DataSetdataSet=newDataSet();
dataAdapter.Fill(dataSet,"Guest");
dgvList.DataSource=dataSet.Tables[0];
}
privatevoidbtnSelect_Click(objectsender,EventArgse)
{SqlConnectionconnection=newSqlConnection();
SqlCommandcommand=newSqlCommand();
stringsql=String.Format("SELECT*FROMhouseWHERE{0}='{1}'",cboKey.Text,txtValue.Text);
try
{connection.Open();//打开数据库连接
command.Connection=connection;
command.CommandText=sql;//设置Command对象要执行的SQL语句
intcount=command.ExecuteNonQuery();//执行更新命令,返回值为更新的行数
if(count>0)
MessageBox.Show("筛选成功","筛选成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
else
MessageBox.Show("查询失败","查询失败",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch(Exceptionex)
{MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
finally
{connection.Close();//关闭数据库连接
}
}
privatevoidbtnSelect_Click_1(objectsender,EventArgse)
{stringsql1;
stringconnString=@"DataSource=陈敏\SQL;InitialCatalog=Hourse_Renting;IntegratedSecurity=True;Pooling=False";
SqlConnectionconnection=newSqlConnection(connString);
stringff=;
if(ff=="boss")
sql1=String.Format("SELECT*FROMbossWHERE{0}='{1}'",cboKey.Text,txtValue.Text);
elseif(ff=="house")
sql1=String.Format("SELECT*FROMhouseWHERE{0}='{1}'",cboKey.Text,txtValue.Text);
elsesql1="SELECT*FROMboss";
SqlDataAdapterdataAdapter=newSqlDataAdapter(sql1,connection);
DataSetdataSet=newDataSet();
dataAdapter.Fill(dataSet,"CustomerInfo");
dgvList.DataSource=dataSet.Tables[0];
}
(2)单击单击“信息管理”下拉菜单选择“承租者入住管理”,弹出对应窗体,在该窗体可以更新和显示承租者的信息,如图12所示:
图12
实现主要代码:
SqlDataAdapterdataAdapter;
DataSetdataSet;
SqlConnectionconnection;
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringconnString=@"DataSource=陈敏\SQL;InitialCatalog=Hourse_Renting;IntegratedSecurity=True;Pooling=False";
connection=newSqlConnection(connString);
stringsql="SELECT*FROMGuest";
dataAdapter=newSqlDataAdapter(sql,connection);
dataSet=newDataSet();
dataAdapter.Fill(dataSet,"Guest");
dgvGuest.DataSource=dataSet.Tables[0];
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
SqlCommandBuilderbbuilder=newSqlCommandBuilder(dataAdapter);
dataAdapter.Update(dataSet,"Guest");
}
(3)单击“客户详细信息”,显示的是已成功出租的客户信息和房屋信息(二者都来源于数据库视图),弹出对应窗体,如图13所示:
图13
主要代码如下
SqlDataAdapterdataAdapter;
DataSetdataSet;
privatevoidbutton1_Click(objectsender,EventArgse)
{stringconnString=@"DataSource=陈敏\SQL;InitialCatalog=Hourse_Renting;IntegratedSecurity=True;Pooling=False";
SqlConnectionconnection=newSqlConnection(connString);
stringsql="SELECT*FROMRoomInfo";
dataAdapter=newSqlDataAdapter(sql,connection);
dataSet=newDataSet();
dataAdapter.Fill(dataSet,"RoomINfo");
dgvGuest.DataSource=dataSet.Tables[0];
}
privatevoidbutton6_Click(objectsender,EventArgse)
{stringconnString=@"DataSource=陈敏\SQL;InitialCatalog=Hourse_Renting;IntegratedSecurity=True;Pooling=False";
SqlConnectionconnection=newSqlConnection(connString);
stringsql1="SELECTguestID,gname,house.houseID,Guest.bossID,takein,paytime,cash,price,hsiteFROMhouse,GuestwhereGuest.houseID=house.houseID";
dataAdapter=newSqlDataAdapter(sql1,connection);
dataSet=newDataSet();
dataAdapter.Fill(dataSet,"CustomerInfo");
dataGridView1.DataSource=dataSet.Tables[0];
}
4.房产管理
(1)单击单击“房产管理”下拉菜单选择“租房”,弹出对应窗体,在该窗体可以申请租房和显示未出租的房屋信息,若房屋不存在,则提示不存在,如图14所示:
图14
实现主要代码:
privatevoidbutton2_Click(objectsender,EventArgse)
{string
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 房屋出租 管理 系统 制作