网络编程 实验三_第1页
网络编程 实验三_第2页
网络编程 实验三_第3页
网络编程 实验三_第4页
网络编程 实验三_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、武 汉 工 程 大 学计算机科学与工程学院网络编程实验报告3专业班级双特01实验地点软件工程 503 机房学生学号0805060128指导教师胡宏银学生姓名詹秋芬实验时间第12周 周二 12节 实验项目酒店管理系统(基于ASP.NET的网站设计与实现)实验类别操作性() 验证性( ) 设计性( ) 综合性( ) 其它( )实验目的及要求目的:1、掌握ASP.NET网站设计方法2、掌握如何利用所学知识编程实现网站3、了解测试网站方法与技术要求:1、设计的网站要求实现一般功能、能通过浏览器访问2、实验报告内容包括:系统设计、主要代码、测试报告3、如果要实现一个比较完善的系统,可以2-3人一组类 别

2、评 分 标 准分值得分合 计上机表现积极出勤、遵守纪律认真完成设计任务30分报告质量操作规范、功能正确填写完整、体现收获70分说明: 评阅教师: 日 期: 20 年 月 日一、实验内容:设计、实现、测试网站,以下题目任选一个:(1)学生信息管理系统(2)论坛系统(3)博客系统(4)个人自定:要求是web程序注:此网站设计的题目是酒店管理系统,由我自定的,下面将详细介绍本系统的具体设计、实现和测试网站过程:二、实验步骤1、设计系统(1)新建一个数据库:首先设计该系统所需的数据库表,在设计数据库表结构之前,要创建一个Access数据库,本系统使用的数据库名为HotelManageSys.mdb。(

3、2)在数据库中新建表:在完成数据库的建立后,接下来在数据库中建立表,本系统一共使用了五个数据库表,分别是:用户信息表(Users)、客房类型信息表(RoomType)、客房基本信息表(GuestRoom)、酒店入住信息表(Occupy)和房间当前状态表(RoomState)。其中,用户信息表用来保存使用该系统的酒店员工的基本信息;客房类型信息表用来保存酒店所有客房类型基本信息;客房基本信息表用来保存酒店所有客房的基本信息;酒店入住信息表保存了酒店历来的全部入住信息;客房状态信息表用来记录酒店客房当前的状态,即是否已外租信息,帮助系统区分各客房状态。(3)设计网站的总体结构:酒店管理系统的网站结

4、构分为两层,包括后台管理层和前台管理层。后台管理层主要面向系统权限为酒店总管理员的用户,当用户以酒店总管理员身份登录后,将被引导至该层。前台管理层则主要是面向系统权限为酒店前台服务人员的用户,登录后将被引导至该层。(4)新建并实现页面的设计:根据以上介绍的网站结构,得出系统需要开发如下页面:酒店管理系统首页(default.aspx)、客房信息添加页面(roomadd.aspx)、客房信息修改页面(roommodify.aspx)、客房类型信息维护页面(roomtypemanage.aspx)、客房类型信息添加页面(roomtypeadd.aspx)、客房类型信息修改页面(roomtypemo

5、dify.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_upasswo

7、rd.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 if(Sessio

8、nUPower.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.EventArgs e

9、)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.DataSource=ds;d

10、gd_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 OleDbCommand(gue

11、stroomdelete, 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 = CommandType.Sto

12、redProcedure; 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,

13、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 : System.Web.U

14、I.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 DataSet();

15、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 OleDbCommand

16、(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 = CommandType

17、.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) int var

18、rid = 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=ConfigurationSe

19、ttings.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.Close()

20、;(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(strconn); cn

21、0.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.Open();

22、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_rposition.Text=

23、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 = ConfigurationSettings.AppS

24、ettingsdsn; 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, OleDbT

25、ype.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 = tbx_rdescr

26、ibe.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 OleDbComma

27、nd(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 = CommandType.St

28、oredProcedure; 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.Web.UI.P

29、age 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

30、(ds1); dlt_roomlist.DataSource = ds1; dlt_roomlist.DataBind(); cn.Close(); (6)订房操作页面实现:订房操作页面的后台支持类为:roomorder.aspx.cs,它负责对页面的事件进行处理,核心代码如下所示:public partial class RoomLeftList : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) lbl_orid.Text = Request.QueryStri

31、ngrid.ToString(); lbl_obegindate.Text = System.DateTime.Now.ToString(); protected void btn_submit_Click(object sender, EventArgs e) if (Page.IsValid) string strconn = ConfigurationSettings.AppSettingsdsn; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); OleDbCommand cm = new OleDbComman

32、d(occupyadd, cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add(ORID, OleDbType.VarChar); cm.Parameters.Add(OGName, OleDbType.VarChar); cm.Parameters.Add(OGidCard, OleDbType.VarChar); cm.Parameters.Add(OBeginDate, OleDbType.DateTime); cm.Parameters.Add(OPay, OleDbType.Money); cm.Pa

33、rametersORID.Value = lbl_orid.Text.ToString(); cm.ParametersOGName.Value = tbx_ogname.Text.ToString(); cm.ParametersOGidCard.Value = tbx_ogidcard.Text.ToString(); cm.ParametersOBeginDate.Value = lbl_obegindate.Text.ToString(); cm.ParametersOPay.Value = 0; cm.ExecuteNonQuery(); cn.Close(); cn.Open();

34、 OleDbCommand cm0 = new OleDbCommand(RooomStateModifyForOrder, cn); cm0.CommandType = CommandType.StoredProcedure; cm0.Parameters.Add(SRID, OleDbType.VarChar); cm0.ParametersSRID.Value = lbl_orid.Text.ToString(); cm0.ExecuteNonQuery(); cn.Close(); Response.Redirect(roomleftlist.aspx); (7)退房操作页面实现:退房

35、操作页面的后台支持类为:roomcheckout.aspx.cs,它负责对页面的事件进行处理,核心代码如下所示:public partial class RoomCheckOut : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string strconn = ConfigurationSettings.AppSettingsdsn; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); Ol

36、eDbCommand cm = new OleDbCommand(occupydetail, cn); cm.CommandType = CommandType.StoredProcedure; cm.Parameters.Add(ORID, OleDbType.VarChar); cm.ParametersORID.Value = Request.QueryStringrid.ToString(); OleDbDataReader dr = cm.ExecuteReader(); if (dr.Read() lbl_orid.Text = drorid.ToString(); lbl_obegindate.Text = drobegindate.ToString(); lbl_ogidcard.Text = drogidcard.ToString(); lbl_ogname.Text = drogname.ToString(); lbl_oenddate.Text = System.DateTime.Now.ToString(); TimeSpan during = System.DateTime.Now.Date Convert.ToDateTime(drobegindate.ToString().Date; int varduring = duri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论