1、网络编程 实验三武 汉 工 程 大 学计算机科学与工程学院网络编程实验报告3专业班级双特01实验地点软件工程 503 机房学生学号0805060128指导教师胡宏银学生姓名詹秋芬实验时间第12周 周二 12节 实验项目酒店管理系统(基于ASP.NET的网站设计与实现)实验类别操作性() 验证性( ) 设计性( ) 综合性( ) 其它( )实验目的及要求目的:1、掌握ASP.NET网站设计方法2、掌握如何利用所学知识编程实现网站3、了解测试网站方法与技术要求:1、设计的网站要求实现一般功能、能通过浏览器访问2、实验报告内容包括:系统设计、主要代码、测试报告3、如果要实现一个比较完善的系统,可以2
2、-3人一组类 别评 分 标 准分值得分合 计上机表现积极出勤、遵守纪律认真完成设计任务30分报告质量操作规范、功能正确填写完整、体现收获70分说明: 评阅教师: 日 期: 20 年 月 日一、实验内容:设计、实现、测试网站,以下题目任选一个:(1)学生信息管理系统(2)论坛系统(3)博客系统(4)个人自定:要求是web程序注:此网站设计的题目是酒店管理系统,由我自定的,下面将详细介绍本系统的具体设计、实现和测试网站过程:二、实验步骤1、设计系统(1)新建一个数据库:首先设计该系统所需的数据库表,在设计数据库表结构之前,要创建一个Access数据库,本系统使用的数据库名为HotelManageS
3、ys.mdb。(2)在数据库中新建表:在完成数据库的建立后,接下来在数据库中建立表,本系统一共使用了五个数据库表,分别是:用户信息表(Users)、客房类型信息表(RoomType)、客房基本信息表(GuestRoom)、酒店入住信息表(Occupy)和房间当前状态表(RoomState)。其中,用户信息表用来保存使用该系统的酒店员工的基本信息;客房类型信息表用来保存酒店所有客房类型基本信息;客房基本信息表用来保存酒店所有客房的基本信息;酒店入住信息表保存了酒店历来的全部入住信息;客房状态信息表用来记录酒店客房当前的状态,即是否已外租信息,帮助系统区分各客房状态。(3)设计网站的总体结构:酒店
4、管理系统的网站结构分为两层,包括后台管理层和前台管理层。后台管理层主要面向系统权限为酒店总管理员的用户,当用户以酒店总管理员身份登录后,将被引导至该层。前台管理层则主要是面向系统权限为酒店前台服务人员的用户,登录后将被引导至该层。(4)新建并实现页面的设计:根据以上介绍的网站结构,得出系统需要开发如下页面:酒店管理系统首页(default.aspx)、客房信息添加页面(roomadd.aspx)、客房信息修改页面(roommodify.aspx)、客房类型信息维护页面(roomtypemanage.aspx)、客房类型信息添加页面(roomtypeadd.aspx)、客房类型信息修改页面(ro
5、omtypemodify.aspx)、客房经营管理页面(roomlist.aspx)、订房操作页面(roomorder.aspx)、退房操作页面(roomcheckout.aspx)。然后,依次在所建网站“酒店管理系统”中添加如上页面,并在各个页面中添加相应的控件来实现页面的完整布局。2、实现系统界面的设计是系统实现的骨架,数据库的连接于封装构成了填写动态代码的基础。因此,摆弄些基本的功能代码的基础已经准备好了,下面就是在这些骨架中,根据数据库的连接和封装,来填写内容动态代码了。(1)酒店管理系统首页实现:现在就为刚才所设计的首页编写后台支持类(default.aspx.cs),用于处理页面的
6、事件,这里的主要事件是登录按钮的单击事件,以完成对用户名、密码信息的提交和验证工作。核心代码如下所示:protected void btn_login_Click(object sender, EventArgs e) string strconn=ConfigurationSettings.AppSettingsdsn; OleDbConnection cn=new OleDbConnection(strconn); cn.Open(); string myaccess =select*from Users where UID=+tbx_uid.Text+and UPassword=+tbx
7、_upassword.Text+; OleDbCommand cm=new OleDbCommand(myaccess,cn); OleDbDataReader dr = cm.ExecuteReader(); if(dr.Read() lbl_message.Text=; SessionUID=drUID.ToString(); Sessionupower.ToString(); lbl_message.Text=欢迎您!+SessionUID; if(SessionUPower.TOString()=1) Response.Redirect(roommanage.aspx); else i
8、f(SessionUPower.ToString()=2) Response.Redirect(roomlist.aspx); else lbl_message.Text=对不起,您的用户名/密码不正确,请重新输入; cn.Close(); (2)客房信息维护页面实现:客房信息维护页面的后台支持类为:roommanage.aspx.cs,它负责对页面的事件进行处理,核心代码如下所示:/在页面的page_load()事件中,对DataGrid控件的数据绑定函数BindGrid()方法进行调用,代码如下:Private void Page_Load(object sender,System.Eve
9、ntArgs e)if(!IsPostBack)BindGrid();/下面是BindGrid()方法的实现过程:Public void Bindgrid()string strconn=ConfigurationSettings.AppSettingsdsn;OleDbConnection cn=newOleDb Connection(strconn);OleDbDataAdapter da=new OleDbDataAdapter(guestroomlist,cn);DataSet ds=new OleDbDataSet();da.Fill(ds);dgd_roomlist.DataSou
10、rce=ds;dgd_roomlist.DataBind();cn.Close();/下面方法用于响应页面中DataGrid控件dgd_roomlist的删除事件:public void DataGrid_Delete(Object sender, DataGridCommandEventArgs E) string strconn = ConfigurationSettings.AppSettingsdsn; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); OleDbCommand cm = new OleDbCom
11、mand(guestroomdelete, cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add(RID, OleDbType.VarChar); cm.ParametersRID.Value = E.Item.Cells0.Text.ToString(); cm.ExecuteNonQuery(); cn.Close(); cn.Open(); OleDbCommand cm0 = new OleDbCommand(roomstatedelete, cn); cm0.CommandType = Command
12、Type.StoredProcedure; cm0.Parameters.Add(SRID, OleDbType.VarChar); cm0.ParametersSRID.Value = E.Item.Cells0.Text.ToString(); cm0.ExecuteNonQuery(); cn.Close(); Response.Redirect(roommanage.aspx); dgd_roomlist.EditIndex = -1; BindGrid(); /下面方法用于响应页面中“开始”按钮的单击事件:protected void btn_search_Click(object
13、sender, EventArgs e) int varrid = 0; try varrid = Convert.ToInt32(tbx_rid.Text.ToString(); catch Response.Write(输入房号有误,请返回!); Response.End(); Response.Redirect(roommmodify.aspx?rid= + varrid); (3)客房信息添加页面实现:客房信息添加页面的后台支持类为:roomadd.aspx.cs,它负责对页面的事件进行处理,核心代码如下所示:public partial class RoomManage : Syst
14、em.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) BindGrid(); public void BindGrid() string strconn=ConfigurationSettings.AppSettingsdsn; OleDbConnection cn=new OleDbConnection(strconn); OleDbDataAdapter da=new OleDbDataAdapter(guestroomlist,cn); DataSet ds=new Dat
15、aSet(); da.Fill(ds); dgd_roomlist.DataSource=ds; dgd_roomlist.DataBind(); cn.Close(); public void DataGrid_Delete(Object sender, DataGridCommandEventArgs E) string strconn = ConfigurationSettings.AppSettingsdsn; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); OleDbCommand cm = new OleD
16、bCommand(guestroomdelete, cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add(RID, OleDbType.VarChar); cm.ParametersRID.Value = E.Item.Cells0.Text.ToString(); cm.ExecuteNonQuery(); cn.Close(); cn.Open(); OleDbCommand cm0 = new OleDbCommand(roomstatedelete, cn); cm0.CommandType = Com
17、mandType.StoredProcedure; cm0.Parameters.Add(SRID, OleDbType.VarChar); cm0.ParametersSRID.Value = E.Item.Cells0.Text.ToString(); cm0.ExecuteNonQuery(); cn.Close(); Response.Redirect(roommanage.aspx); dgd_roomlist.EditIndex = -1; BindGrid(); protected void btn_search_Click(object sender, EventArgs e)
18、 int varrid = 0; try varrid = Convert.ToInt32(tbx_rid.Text.ToString(); catch Response.Write(输入房号有误,请返回!); Response.End(); Response.Redirect(roommmodify.aspx?rid= + varrid); public void ctv_rid_SercerValidate(object source,System.Web.UI.WebControls.ServerValidateEventArgs args) string strconn=Configu
19、rationSettings.AppSettingsdsn; OleDbConnection cn=new OleDbConnection(strconn); cn.Open(); string myaccess=select*from GuestRoom where rid=+tbx_rid.Text+; OleDbCommand cm=new OleDbCommand(myaccess,cn); OleDbDataReader dr=cm.ExecuteReader(); if(dr.Read() args.IsValid=false; else args.IsValid=true; cn
20、.Close();(4)客房信息修改页面实现:客房信息修改页面的后台支持类为:roommodify.aspx.cs,它负责对页面的事件进行处理,核心代码如下所示:public partial class RoomModify : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if(!IsPostBack) string strconn=ConfigurationSettings.AppSettingsdsn; OleDbConnection cn0=new OleDbConnection(strc
21、onn); cn0.Open(); string myaccess=select*from RoomType; OleDbCommand cm0=new OleDbCommand(myaccess,cn0); OleDbDataReader dr0=cm0.ExecuteReader(); while(dr0.Read() ddl_rtype.Items.Add(new ListItem(dr0tname.ToString(),dr0tid.ToString(); cn0.Close(); OleDbConnection cn=new OleDbConnection(strconn); cn.
22、Open(); OleDbCommand cm=new OleDbCommand(guestroomdetail,cn); cm.CommandType=CommandType.StoredProcedure; cm.Parameters.Add(RID,OleDbType.VarChar); cm.ParametersRID.Value=Request.QueryStringrid.ToString(); OleDbDataReader dr=cm.ExecuteReader(); if(dr.Read() lbl_rid.Text=drrid.ToString(); tbx_rpositi
23、on.Text=drrposition.ToString(); tbx_rdescribe.Text=drrdescribe.ToString(); ddl_rtype.Items.FindByValue(drrtype.ToString().Selected=true; else Response.Write(对不起,没有该房间信息); Response.End(); protected void btn_modify_Click(object sender, EventArgs e) if (Page.IsValid) string strconn = ConfigurationSetti
24、ngs.AppSettingsdsn; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); OleDbCommand cm = new OleDbCommand(guestroommodify, cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add(RID, OleDbType.VarChar); cm.Parameters.Add(RType, OleDbType.VarChar); cm.Parameters.Add(RPosition
25、, OleDbType.VarChar); cm.Parameters.Add(RDescribe, OleDbType.VarChar); cm.ParametersRID.Value = lbl_rid.Text.ToString(); cm.ParametersRType.Value = Convert.ToInt32(ddl_rtype.SelectedItem.Value.ToString(); cm.ParametersRPosition.Value = tbx_rposition.Text.ToString(); cm.ParametersRDescribe.Value = tb
26、x_rdescribe.Text.ToString(); cm.ExecuteNonQuery(); cn.Close(); Response.Redirect(roommanage.aspx); protected void btn_delete_Click(object sender, EventArgs e) string strconn = ConfigurationSettings.AppSettingsdsn; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); OleDbCommand cm = new Ol
27、eDbCommand(guestroomdelete, cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add(RID, OleDbType.VarChar); cm.ParametersRID.Value = lbl_rid.Text.ToString(); cm.ExecuteNonQuery(); cn.Close(); cn.Open(); OleDbCommand cm0 = new OleDbCommand(rooomstatedelete, cn); cm0.CommandType = Comman
28、dType.StoredProcedure; cm0.Parameters.Add(SRID, OleDbType.VarChar); cm0.ParametersSRID.Value = lbl_rid.Text.ToString(); cm0.ExecuteNonQuery(); cn.Close(); Response.Redirect(roommanage.aspx); (5)客房经营管理页面实现:客房经营管理页面的后台支持类为:roomlist.aspx.cs,它负责对页面的事件进行处理,核心代码如下所示:public partial class RoomList : System.
29、Web.UI.Page protected void Page_Load(object sender, EventArgs e) BindList(); public void BindList() string strconn = ConfigurationSettings.AppSettingsdsn; OleDbConnection cn = new OleDbConnection(strconn); OleDbDataAdapter da1 = new OleDbDataAdapter(guestroomstate, cn); DataSet ds1 = new DataSet(); da1.Fill(ds1); dlt_roomlist.DataSource = ds1; dlt_roomlist.DataBind(); cn.Close(); (6)订房操作页面实现:订房操作页面的后台支持类为:roomorder.aspx.cs,它负责对页面的事件进行处理,核心代码如下所示:public partial class RoomLeftList : System.Web.UI.Page protected
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1