房屋销售管理系统的设计与实现毕业论文 联系客服

发布时间 : 星期六 文章房屋销售管理系统的设计与实现毕业论文更新完毕开始阅读18075b7486c24028915f804d2b160b4e767f8180

第4章 房产销售管理系统的实现

4.1 注册登录功能实现

在房产销售信息管理系统实现中首先介绍3个简单的功能:用户注册、用户登录、管理员登录。 (1)用户注册

当用户登录到系统首页Index.aspx,如果要使用房屋预订功能,那么系统就会通过判断Session中的用户帐号是否为空来对使用者身份进行验证判断,如果帐号为空,说明用户没有登录,属于一般浏览用户,所以不能进行在线预订操作,系统就会显示“您没有登录”消息,点击确定跳转到Reg.aspx注册页面去。

在用户在注册页面填好个人信息后,用户点击注册按钮后,系统首先进行连接数据库操作,使用SqlConnection连接到本地数据库,然后使用SqlCommand在打开的数据库中查询,先判断用户注册的用户名已经被别人先注册了,如果这个用户名已经被别人注册了,则显示“注册失败:该用户名已经存在”,这里是用Response对象的Write方法来显示。如果这个帐号没有被注册,那么进行insert into插入操作。注册成功后直接跳转到登录页面Login.aspx。 (2)用户登录和管理员登录

用户是通过Login.aspx页面来登录的。在登录时将用户帐号(userID)和密码(password)输入到各自相应的TEXT控件中去,点击提交后系统把刚才获取的userID和password赋值给新定义的2个字符串name和pwd,然后使用SqlConnection连接本地数据库。使用SqlDataReader进行读操作,如果输入的帐号和密码是与数据库中的值是一致的话,那么Session中的值就等于该帐号,登录成功,跳转到首页Index.aspx。如果用户名不存在或输入错误,那么使用Response对象的Write方法显示出提示信息,同时Session中的值为空。在首页中判断用户是否登录就是看Session里的值。如果为空,那么用户为一般浏览用户。如果为注册用户的帐号,那么就可进行注册用户的相应操作。如果其中的值为管理员名,那么该用户为管理员,可以点击管理按钮进入管理页面。管理员的登录和注册用户登录类似,只是实现是在Admin.aspx页面中进行的。页面如图4.1所示。

图4.1 用户注册

管理员登录部分代码如下: Session[\

Response.Write(\登录成功!')\Response.Redirect(\

4.2 搜索功能实现

用户在Locating.aspx中实现搜索操作。使用搜索功能时使用位置(situation)、户型(houseform)和用途(typename)3个字段联合来查询数据库,首先分别将3个DropDownList中的值赋值给新定义的3个字符串,然后进行数据库的查询select *from …where…操作,使用SqlDataAdapter对象来填充DataSet对象,使用SelectCommand来查询记录,最后通过DataGrid将查询的信息显示出来。

部分代码为:

string aaa=this.DropDownList1.SelectedItem.Text.Trim(); string bbb=this.DropDownList2.SelectedItem.Text.Trim(); string ccc=this.DropDownList3.SelectedItem.Text.Trim(); SqlDataAdapter sqlda=new SqlDataAdapter();

SqlConnection conn=new SqlConnection(FWsell.Myclass.ConnString); SqlCommand selectCmd=new SqlCommand(\*from House where situation='\

selectCmd.Connection=conn;

4.3 系统功能管理

4.3.1 房屋信息模块

只要是登录到该网站的人都可以查看所有的房屋信息,首先进入的是一个显

示全部房屋信息的页面House.aspx(如图4.3所示),在这个页面中,可以根据自己的需要点击按钮来查看某个房屋的具体信息(如图4.4所示)那就需要使用到显示详细房屋信息的页面HouseINfo.aspx。

图4.3全部房屋信息

在显示所有的房屋信息时,首先对表House进行查询,使用SqlDataAdapter对象中的SelectCommand属性来选择所查询的值,将具体的房屋信息在HouseINfo.aspx的DataList中都显示出来。如图4.4所示。

图4.4某房屋详细信息

关键技术解决如下:

在DataGrid中显示所有的房屋信息的时候,如果房屋的信息的超过了10条,那么就需要上下翻页。

回到第一页,将CurrentPageIndex属性置0。

this.DataGrid1.CurrentPageIndex = 0; this.DataGrid1.DataBind();

回到前一页,首先要判断是不是第一页CurrentPageIndex要大于0,然后CurrentPageIndex属性进行减1操作。

this.DataGrid1.CurrentPageIndex -=1; this.DataGrid1.DataBind();

到最后一页,也就是到了PageCount-1页的时候,那么使用DataBind连接数据:

this.DataGrid1.CurrentPageIndex=this.DataGrid1.PageCount-1; this.DataGrid1.DataBind();

点击到后一页,首先要判断是不是最后一页,CurrentPageIndex属性值要小于PageCount属性值减一,然后CurrentPageIndex属性加一操作:

this.DataGrid1.CurrentPageIndex +=1; this.DataGrid1.DataBind();

为了方便用户记忆和查找,在以上控件中间添加了显示当前多少页的控件,定义了个ShowPosition函数来实现,函数代码:

this.ButtonCurrent.Text=string.Format(\第{0}页 共{1}页 \

在HouseINfo.aspx中要将房屋的详细信息显示出来,需要使用前页House.aspx 的DataGrid中的值(在DataGrid属性“点击查看”列属性URL中添加(HouseINfo.aspx?H={0})),这样就可以使用Request对象来获取。Request对象是HttpRequest类的实例,是ASP.NET自动创建的,而HttpRequest类可以使ASP.NET能够读取客户端在WEB请求期间发送的HTTP值。当用户点击前页的查看按钮后,被Request获取。具体实现代码如下:

private void Page_Load(object sender, System.EventArgs e) {

string str=Request[\从前面的DATAGRID中取H[0]中的值 DataSet dataset=new DataSet();

SqlConnection con = new SqlConnection(\Catalog=Fangwu;Integrated Security=True\