注:仅展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。
摘 要
本文主要展示了小区物业管理系统的设计与开发过程。小区物业管理系统是将所涉及到的小区管理事务利用计算机技术组织起来,实现小区事务方便高效的管理,同时极大地方便了小区住户的日常生活.
本系统采用近几年新兴的C#语言作为编程语言和发展日趋成熟的ASP.NET技术作为创建应用程序的方式,并且使用微软公司的SQL Server 2005数据库作为后台数据库存储数据,从而实现了小区物业管理员对小区物业信息的管理和住户对小区物业信息的查询。本系统主要分为系统管理员和住户两大功能模块,在系统管理员功能模块下有系统用户管理、站内新闻管理、住户管理、停车信息管理、在线投诉管理和欠费信息管理;在住户功能模块可查看站内新闻、用户注册、在线投诉、缴费查询、停车信息查询.
本文分为五章,主要从系统的分析、概要设计、详细设计与实现以及测试等几个方面对系统的开发流程进行了介绍。第一章,介绍了开发背景和意义、关键技术、开发目标、本文主要工作;第二章,介绍了需求、功能、架构、业务流程图的设计和数据库E—R图的设计;第三章,介绍了各个类库的设计和数据库的各个字段的确定;第四章,介绍了各个层实现的主要代码和各个模块的实现的主要代码;第五章,介绍了测试的过程,包括界面、功能的测试.
关键词:小区物业管理系统,C#,SQL Server
目 录
6、qianfeixinxi(欠费信息)表:{ID,danjuhao, jiaofeizhuhu,
jiaofeifangshi, jiaofeishijian, qishishijian, zhongzhishijian,
jiaofeijine, jiaofeizhuangtai, shoufeirenyuan, beizhu}
youqinglianjie(友情链接)表的物理结构如表3-6所示。
表3-6 qianfeixinxi(欠费信息)表
序号 | 字段名 | 数据类型 | 长度 | 备注 |
1 | ID | int | ||
2 | danjudanhao | varchar | 50 | 单据号 |
3 | jiaofeizhuhu | varchar | 50 | 缴费住户 |
4 | jiaofeifangshi | varchar | 50 | 缴费方式 |
5 | jiaofeishijian | varchar | 50 | 缴费时间 |
6 | qishishijian | varchar | 50 | 起始时间 |
7 | zhongzhishijian | varchar | 50 | 终止时间 |
8 | jiaofeijine | varchar | 50 | 缴费金额 |
9 | jiaofeizhuangtai | varchar | 50 | 缴费状态 |
10 | shoufeirenyuan | varchar | 50 | 收费人员 |
11 | beizhu | varchar | 50 | 备注 |
7、tingcehxinxi(停车信息)表:{ID, chepaihao, chezhu, tingchedidian,
tingcehchanghao, jingshouren, feiyong, kaishishijian, jieshushijian
beizhu}
tingcehxinxi(停车信息)表的物理结构如表3—7所示.
表3-7 tingcehxinxi(停车信息)表
序号 | 字段名 | 数据类型 | 长度 | 备注 | ||||
1 | chepaihao | varchar | 50 | 车牌号 | ||||
2 | chezhu | varchar | 50 | 车主 | ||||
续表3—7 | ||||||||
3 | tingchedidian | varchar | 50 | 停车地点 | ||||
4 | tingchechanghao | varchar | 50 | 停车场号 | ||||
5 | jingshouren | varchar | 50 | 经手人 | ||||
6 | feiyong | varchar | 50 | 费用 | ||||
7 | kaishishijian | varchar | 50 | 开始时间 | ||||
8 | jieshushijian | varchar | 50 | 结束时间 | ||||
9 | beizhu | varchar | 50 | 备注 |
3.5 系统设计中的技术难点
1、C#对数据库的访问技术
从数据库中读取记录的一种方法是使用Dataset对象和Data adapter对象,Dataset是ADO.NET的主要组件之一,它用于缓存从数据源检索到的数据信息。Data adapter作为Dataset和数据源之间的桥接器,用于检索和保存数据。Data adapter为例说明如何使用Dataset对象和Data adapter对象从数据库中读取记录.执行查询的关键步骤如下:
(1)创建与数据库建立连接的Sqlconnection,传递连接字符串。
(2)构造包含查询语句的Sqldataadapter对象。
(3)若要实用查询结果填充Dataset对象,则调用命令Fill方法。
2、C#利用ADO。NET进行数据库开发的基本步骤
(1)创建和数据库连接的connection对象.
(2)配置DataAdapter对象并创建和操作数据集DataSet。
(3)将数据库中的表添加到DataSet中。
(4)把数据集DataSet绑定到DataGrid上。
(5)利用DataAdapter的Fill方法把数据填充到DataSet中。
(6)最终的数据库中的数据显示在用户界面的DataGrid中。
3、C#中从数据库查询记录的方法
C#中从数据库查询记录的方法一般分为两类:一种是通过Data Reader对象直接访问;另一种则是通过数据集Dataset和Data adapter对象访问.
使用ADO.NET的Data reader对象能从数据库中检索数据。检索出来的数据形成一个只读只进的数据流,存储在客户端的网络缓冲区内.Data reader对象的read方法可以前进到下一条记录。在默认情况下,每执行一次read方法只会在内存中存储一条记录系统的开销非常少。
创建data reader之前必须先创建sqlcommand对象,然后调用该对象的executereader方法来构造sqldatareader对象,而不是直接使用构造函数。
下面的示例程序完成的功能是访问sqlserver数据库,并使用datareader从northwind数据中读取记录,并将查询结果通过控制台输出。
using System;
using System.Data;
using System.Data.SqlClient;
using System。Configuration;
using System。Web;
using System.Web。Security;
using System。Web。UI;
using System.Web.UI.WebControls;
using System.Web.UI。WebControls.WebParts;
using System。Web。UI。HtmlControls;
public class Class1
{
public static string connstring = ConfigurationManager。AppSettings["cn”];
//设置连接数据库的代码是webconfig里面的cn那句,即:
server=。;database=NETXIAOQUWUYESHFW;uid=sa;pwd=sa;
public static DataSet GDS(string sql)
{
SqlDataAdapter dap = new SqlDataAdapter(sql, connstring);
DataSet ds = new DataSet();
dap。Fill(ds);
return ds;
}
public static void Dsql(string sql)
{
SqlConnection conn = new SqlConnection();
conn。ConnectionString = connstring;
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn。Close();
}
public int hsgexucute(string sql) //自定义函数:执行sql语句,如果执行成功,返回值1,否则返回0.
{
SqlConnection conn = new SqlConnection(); //定义新的数据库连接
conn.ConnectionString = connstring; //设置新的连接字符串connstr,即上面的webconfig里的cn值
SqlCommand myCommand = new SqlCommand(sql, conn); //设置新的执行命令
try
{
conn。Open(); //打开数据库连接
myCommand.ExecuteNonQuery(); //执行sql语句
return 1; //执行成功,返回1
}
catch
{
//Console.WriteLine("SqlException:{0}",SQLexc);
return 0; //执行失败,返回0
}
finally
{
conn。Close(); //关闭数据库连接
}
}
其核心代码如下:
private void getdata(string sql)
{
DataSet result = new DataSet();
result = new Class1().hsggetdata(sql);
if (result != null)
{
if (result。Tables[0].Rows。Count 〉 0)
{
DataGrid1。DataSource = result。Tables[0];
}
else
{
DataGrid1。DataSource = null;
DataGrid1.DataBind();
}
}
}
protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
sql = "select id,title,addtime,leibie from allgonggao order by id desc”;
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1。DataBind();
}
4.1.2 用户注册页面
在系统主界面点击物业管理员注册即可进入用户注册功能页面,在此页面用户可通过输入用户名和密码等信息完成个人账号的注册,如图4-3所示.
图4-3用户注册页面
其核心代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
string sql;
sql = ”insert into yonghuzhuce(yonghuming,mima,xingming,dianhua,youxiang,QQ,touxiang,jiguan,dizhi,xingbie,beizhu) values(’" + yonghuming。Text.ToString().Trim() + ”’,'” + mima。Text。ToString()。Trim() + ”',’" + xingming。Text。ToString().Trim() + "',’" + dianhua。Text。ToString()。Trim() + "','” + youxiang.Text.ToString().Trim() + "’,'" + QQ。Text.ToString()。Trim() + "','" + touxiang.Text.ToString().Trim() + "','” + jiguan。Text。ToString().Trim() + ”',’" + dizhi.Text.ToString()。Trim() + ”','” + xingbie.Text。ToString()。Trim() + "’,’” + beizhu.Text。ToString()。Trim() + ”’) ";
int result;
result = new Class1().hsgexucute(sql);
if (result == 1)
{
Response.Write("〈script>javascript:alert(’注册成功,您可以去首页登录了');location。href='default.aspx';</script>");
Response。End();
}
else
{
Response.Write(”<script>javascript:alert('系统错误,请检查数据库设置问题');</script〉”);
}
}
[1] 王青兰. 物业管理导论. 中国建筑出版社
[2] 张海藩. 软件工程导论第三版. 清华大学出版社
[3] 黄海. ASP.NET2。0全程指南。 电子工业出版社
[4] 刘志成。 SQL Server 2005实例教程. 电子工业出版社
[5] 孙永强,戴峰,陈宗斌. Visual C#。NET程序设计基础. 清华大学出版社
[6] [英]夏普。 Visual C#从入门到精通。 周靖 译. 清华大学出版社
[7]李律松,马传宝,李婷。 Visual C#+SQL Server 数据库开发与示例. 清华大学出版社
[8] karli Watson. C#入门经典. 康博 译. 清华大学出版社
[9] 徐谡。 ASP.NET应用于开发案例教程. 清华大学出版社