一、引言
随着房价的不断升高,人们对房屋的需求越来越难以满足,对于一些在外地工作的人来说租房子成为了一种常态,因此出现了越来越多的房屋中介,而对于房屋中介而言,管理日益增加租户的信息和房产的信息成了一个至关重要的问题。与此同时,环保也是大家关注的焦点。因此,开发一款能够实现无纸化的管理系统来管理房屋和租户的信息就显得十分必要。
1.1房屋租赁管理系统的任务目标:
简化房屋信息及租客信息的管理步骤,可以方便快捷地查询所需要的信息,系统自动进行水电等费用的计算。在系统启动时有对用户身份的检查,以保证信息的安全性。
房屋租赁管理系统的开发及运行环境:
1.2开发环境:
Windows7 64位
Visual Studio 2010
Mysql 5
1.3运行环境:
window
.NET4.0及以上
第二章 系统分析与设计
2.1 需求分析
通过对任务的分析,可以发现运行的系统要能实现以下的功能:
(1)登录管理:实现以正确的员工号、密码和登录人员身份才能登陆系统的功能,正确登录之后才能进行之后的管理。
(2)房屋信息管理:包括添加新的房屋信息、修改房屋信息、查询房屋信息、删除房屋信息。
(3)用户信息管理:包括添加新的用户信息、修改用户信息、查询用户信息、删除用户信息。
(4)租赁信息管理:包括查询某个房屋的租赁状况、添加租赁关系、删除租赁关系。
(5)水电费用管理:包括水电费用的查询、添加、修改、删除。
(6)财务收支记录:添加公司的财务记录(不允许修改和删除)。
(7)收费项目设置:设置水费、电费、物业费、宽带费单价及财务余额。
(8)管理员信息维护/密码修改:若登陆用户为超级管理员(admin),则可以管理其他员工的信息,否则就只有修改自己密码的权限。
数据流图如下:
2.2数据库概念结构设计
E-R图
2.3数据库逻辑结构设计
关系模式(带有下划线的为主键,所有表中数据均为varchar类型):
管理员(用户名、密码)
房屋信息(房屋编号、所属区域、房屋名称、房屋类型、房屋面积、装修情况、房屋设施、房屋用途、月租价格、房间状态、备注说明)
用户信息(身份证号、用户姓名、性别、电话)
租赁信息(房屋编号、租户身份证号、租赁开始时间、租赁月数 、月租金)
水电费信息(受理单号、房屋编号、上次电表数、本次电表数、上次水表数、本次水表数、收费金额)
财务收支报(编号、类型、金额、日期)
杂项设置(编号、水费单价、电费单价、宽带费单价、物业费单价、财务余额)
注:编号位数字等限制由程序中的函数完成,故所有数据类型均为varchar
三、界面设计
3.1登陆模块为Login.cs:
当用户点击登陆按钮时用用户名和密码向数据库中的manageruser表提交查询,若校验通过则将用户名作为初始化参数传递到MainForm.cs、否则提示用户不存在或密码错误。
主要代码:
sqltext1 = "select password from manageruser where user='" + username + "'";
ds = MySqlHelper.GetDataSet(MySqlHelper.Conn, CommandType.Text, sqltext1, null);
MainForm mainform = new MainForm(username);
主界面代码:
在窗口初始化时通过函数重载,获得当前登陆的用户的用户名
public MainForm()
{
usernamestr = "admin";
InitializeComponent();
}
public MainForm(string user)
{
usernamestr = user;
InitializeComponent();
}
根据登陆的用户不同,顶部工具菜单第二项可能为管理员信息维护、修改密码,登陆用户若为admin则为管理员信息维护,否则为修改密码。
窗口的主体部分用SplitContainer空间分割为两部分,左侧为功能列表、右侧为具体的操作窗口。当点击功能能列表中的不同按钮时、右侧操作窗口内容随之改变。
关键代码(切换右侧操作窗口):
splitContainer1.Panel2.Controls.Clear();
Rentinf rentinf = new Rentinf();
rentinf.TopLevel = false;
rentinf.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
rentinf.WindowState = FormWindowState.Normal;
rentinf.Dock = DockStyle.Fill;
rentinf.KeyPreview = true;
rentinf.Parent = splitContainer1.Panel2;
rentinf.Show();
3.2房屋信息管理模块
界面设计如下:
可以按照房屋编号、房屋名称、房屋区域、房屋状态进行查询
可以按照房屋编号、房屋名称、房屋区域、房屋状态进行查询
查询关键代码:
sqltext1 = "select * from roominf where " + chaxunfangshi + " like '%" + textBox1.Text + "%'";
roomdataGridView.DataSource = MySqlHelper.GetDataSet(MySqlHelper.Conn, CommandType.Text, sqltext1, null).Tables[0].DefaultView;
添加关键代码:
sqltext="insert into roominf(num,weizhi,mingzi,zhonglei,mianji,zhuangxiu,sheshi,yongtu,jiage,zhuangtai,beizhu)values('" + num + "','" + weizhi + "','" + mingzi + "','" + leixing + "','" + mianji + "','" + zhuangxiu + "','" + sheshi + "','" + yongtu + "','" + jiage + "','" + zhuangtai + "','" + beizhu + "')";
MySqlHelper.ExecuteNonQuery(MySqlHelper.Conn,CommandType.Text,sqltext, null);
roomdataGridView.DataSource = MySqlHelper.GetDataSet(MySqlHelper.Conn, CommandType.Text,"select * from roominf ", null).Tables[0].DefaultView;
修改代码:
sqltext = "update roominf set weizhi='" + weizhi + "',mingzi='" + mingzi + "',zhonglei='" + leixing + "',mianji='" + mianji + "',zhuangxiu='" + zhuangxiu + "',sheshi='" + sheshi + "',yongtu='" + yongtu + "',jiage='" + jiage + "',zhuangtai='" + zhuangtai + "',beizhu='" + beizhu + "' where num='" + num + "'";
MySqlHelper.ExecuteNonQuery(MySqlHelper.Conn, CommandType.Text, sqltext, null);
roomdataGridView.DataSource = MySqlHelper.GetDataSet(MySqlHelper.Conn, CommandType.Text, "select * from roominf ", null).Tables[0].DefaultView;
删除关键代码:
sqltext = "delete from roominf where num='" + num + "'"; MySqlHelper.ExecuteNonQuery(MySqlHelper.Conn,CommandType.Text, sqltext, null);
roomdataGridView.DataSource=MySqlHelper.GetDataSet(MySqlHelper.Conn,CommandType.Text, "select * from roominf ", null).Tables[0].DefaultView;
3.3用户信息管理模块
可以按照身份证号、姓名、电话查询相应的用户信息
添加、修改、删除操作与房屋信息管理类似。在代码中设置了身份证号和电话号码,必须为数字的函数进行处理
3.4租赁信息管理模块
用于查询、记录房屋租赁信息。期中由于数据房屋编号和身份证号是外键,分别参照房屋信息表和用户信息表,所以房屋信息和身份证号使用了comobox控件完成选择,不允许手工输入。
3.5水电费用管理模块
用于记录出租的房屋的水电费用信息。由电表数据来计算应缴费的金额,并存入数据库。
添加、修改、删除操作与房屋信息管理类似
3.6财务收支模块
3.7其他
Admin用户登陆后工具菜单中显示相应的菜单可以进入,用于进行系统管理员信息的修改和删除、若非admin管理员登陆,则不显示该菜单,只显示修改密码的
菜单。
其他设置模块用于设置水费电费等设置。仅与费用计算有关。
四、交流与联系
q:969060742 文档、完整代码、sql