




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計課程名稱: SQL數(shù)據(jù)庫開發(fā) 課題名稱:客房管理系統(tǒng)的設(shè)計與實現(xiàn)院 系: 計算機科學(xué)與工程學(xué)院 專 業(yè): 計算機科學(xué)與技術(shù) 班級: 計科141 學(xué) 號: 姓 名: 指導(dǎo)教師: 王劍 開課時間: 2016 至 2017 學(xué)年第 1 學(xué)期常熟理工學(xué)院計算機科學(xué)與工程學(xué)院 制學(xué)生姓名 考核成績 評語: 指導(dǎo)教師(簽名) 年 月 日說明:指導(dǎo)教師評分后,實訓(xùn)報告交院辦公室保存。目錄1. 課題簡介.12. 開發(fā)環(huán)境與技術(shù).13. 系統(tǒng)分析與設(shè)計.13.1 功能模塊劃分.13.2 業(yè)務(wù)流程分析.23.3 數(shù)據(jù)庫設(shè)計.64. 系統(tǒng)實現(xiàn).95. 總結(jié).34實訓(xùn)報告要求與排版字號:1實訓(xùn)報告排版打印統(tǒng)一
2、用A4(21 X 29.7cm)格式。2標(biāo)題用小二號黑體加粗,正文用四號宋體。行距為固定值20磅。3頁面上邊距2.54cm,下邊距2.54 cm,左邊距3cm,右邊距2.2cm;4實訓(xùn)報告頁碼從正文頁面起計算。頁碼字號,選用小四號粗黑體并居中。1. 課程簡介客房管理系統(tǒng)是一個基于ADO.NET技術(shù),面向小型酒店用來進行客房日常管理的系統(tǒng)。該系統(tǒng)能夠為酒店管理者對酒店進行較為簡單便捷的管理,能夠?qū)崿F(xiàn)顧客進行客房的預(yù)訂等基本操作,對酒店各部門提供管理功能。為顧客提供一個良好的管理環(huán)境,為酒店贏得更多的利益。2. 開發(fā)環(huán)境與技術(shù)2.1 開發(fā)環(huán)境2.1.1 Microsoft Visual Studi
3、o 2015 Microsoft Visual Studio 2015是美國微軟公司的開發(fā)工具包系列產(chǎn)品。它是一個基于完整的開發(fā)工具集,包括了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發(fā)環(huán)境等。所寫的目標(biāo)代碼適用于微軟支持的所有平臺。2.1.2 SQL Server 2008相對于MySQL、Oracle、Sybase、DB2等關(guān)系數(shù)據(jù)庫,SQL Server性價比較高,能夠很好的和.NET集成,非常適合作為Windows應(yīng)用的后臺數(shù)據(jù)庫。且SQL Server 2008安全性強、操作方便、管理和開發(fā)易入手。融合了.NET框架主機、XML技術(shù)、通告服務(wù)、Web服務(wù)
4、等十個有關(guān)開發(fā)的重要特性。2.2 ADO.NET技術(shù)ADO.NET是一個COM組件庫,用于以往的Microsoft技術(shù)中的訪問數(shù)據(jù)。ADO.NET可讓開發(fā)人員以一致的方式存取資料來源,以及透過OLE DB和ODBC所公開的資料來源。資料公用的消費者應(yīng)用稱程序可使用ADO.NET來連接這些資料來源,并且獲取、處理及更新其中所含的資料。3. 系統(tǒng)分析與設(shè)計3.1 功能模塊劃分圖1 功能模塊劃分3.2 業(yè)務(wù)流程分析圖2添加客房類型活動圖圖3 修改客房類型活動圖圖4 刪除客房類型活動圖圖5 添加新客房活動圖圖6 修改客房信息活動圖圖7 刪除客房活動圖圖8 訂房活動圖圖9 退房活動圖圖10 顯示全部經(jīng)營
5、記錄活動圖圖11 根據(jù)類型和狀態(tài)查詢經(jīng)營記錄活動圖圖12 顯示所有客戶信息活動圖圖13 根據(jù)日期查詢客戶信息活動圖圖14 根據(jù)客戶姓名或客房號查詢客戶信息活動圖3.3 數(shù)據(jù)庫設(shè)計3.3.1 數(shù)據(jù)關(guān)系圖圖15 數(shù)據(jù)關(guān)系圖3.3.2 數(shù)據(jù)字典字段含義數(shù)據(jù)類型是否允許為空備注CidentityId客戶身份證號nvarchar(50)否主鍵Cname客戶名nvarchar(50)是Cphone客戶聯(lián)系方式varchar(50)是Caddress客戶聯(lián)系地址nvarchar(50)是表1 CustomersInfo字段含義數(shù)據(jù)類型是否允許為空備注BeginTime訂房時間datetime否主鍵EndTi
6、me退房時間datetime否RoomId客房編號int否主鍵TotalPrice總消費money是CidentityId客戶身份證號nvarchar(50)否主鍵表2 History字段含義數(shù)據(jù)類型是否允許為空備注RcategoryId類型編號int否主鍵Name類型名稱nvarchar(50)否Area面積Float否Bednum床位數(shù)Int否Price單價Money否Aircondition空調(diào)Int否TV電視機Int否表3 RoomCategory字段含義數(shù)據(jù)類型是否允許為空備注RoomId客房編號Int否主鍵BeginTime訂房時間datetime否主鍵CidentityId客戶身
7、份證號nvarchar(50)否主鍵Remarks評論nvarchar(200)是表4 RoomOperation字段含義數(shù)據(jù)類型是否允許為空備注RoomId客房編號Int否主鍵RcategoryId類型編號Int否Rposition位置nvarchar(50)否Description描述nvarchar(50)是表5 RoomsInfo字段含義數(shù)據(jù)類型是否允許為空備注RoomId客房編號int否主鍵Status狀態(tài)Int是表6 RoomStatus字段含義數(shù)據(jù)類型是否允許為空備注UserId管理員編號int否主鍵Name管理員姓名nvarchar(50)否Password登錄密碼varcha
8、r(50)是Email郵箱nvarchar(50)是Address聯(lián)系地址nvarchar(50)是Telephone聯(lián)系方式varchar(50)是表7 UserInfo4. 系統(tǒng)實現(xiàn)4.1 管理員登錄圖16 管理員登錄界面登錄頁面的主要功能是查詢數(shù)據(jù)庫UserInfo表中是否存在正確的用戶名及密碼,若存存在則登錄成功并跳轉(zhuǎn)至管理主界面。關(guān)鍵代碼如下:/建立連接對象 SqlConnection myConn = new SqlConnection(); string cnString = ConfigurationManager.ConnectionStrings"RoomMana
9、geConnection".ToString(); myConn.ConnectionString = cnString; /建立命令對象 SqlCommand cmd = new SqlCommand(); cmd.Connection = myConn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "ValidateUser" /使用parameter對象處理存儲過程中所有參數(shù) SqlParameter p_uID = new SqlParameter("name&
10、quot;, SqlDbType.NVarChar, 50); SqlParameter p_num = new SqlParameter("pwd", SqlDbType.NVarChar, 50); SqlParameter p_flag = new SqlParameter("IsValid", SqlDbType.Int); cmd.Parameters.Add(p_uID); cmd.Parameters.Add(p_num); cmd.Parameters.Add(p_flag); p_uID.Value = TextBox1.Text; p
11、_num.Value = TextBox2.Text; p_flag.Direction = ParameterDirection.Output; /執(zhí)行存儲過程完成登錄 myConn.Open(); cmd.ExecuteNonQuery(); myConn.Close(); int r = Convert.ToInt32(cmd.Parameters"IsValid".Value); if (r = 1) Session"username" = TextBox1.Text; Response.Redirect("Welcome.aspx&q
12、uot;); else Response.Write("登錄失??!"); 4.2 管理主界面圖17 管理主界面管理主界面的主要功能以四個超鏈接實現(xiàn)各個功能頁面的跳轉(zhuǎn)4.3 客房類型管理圖18 客房類型管理界面客房管理界面主要是實現(xiàn)對客房類型的增、刪、改、查功能,實現(xiàn)過程是對GridView進行SqlDataSource的綁定并讓其自動生成修改和刪除語句。前臺數(shù)據(jù)源關(guān)鍵代碼如下:<Columns> <asp:BoundField DataField="RcategoryId" HeaderText="客房編號" Rea
13、dOnly="True" SortExpression="RcategoryId" /> <asp:BoundField DataField="Name" HeaderText="客房名稱" SortExpression="Name" /> <asp:BoundField DataField="Area" HeaderText="面積" SortExpression="Area" /> <asp:Bo
14、undField DataField="Bednum" HeaderText="床位數(shù)" SortExpression="Bednum" /> <asp:BoundField DataField="Price" HeaderText="單價" SortExpression="Price" /> <asp:BoundField DataField="Aircondition" HeaderText="空調(diào)" Sor
15、tExpression="Aircondition" /> <asp:BoundField DataField="TV" HeaderText="電視機" SortExpression="TV" /> <asp:CommandField HeaderText="操作" ShowDeleteButton="True" ShowEditButton="True" /> </Columns><DeleteParam
16、eters> <asp:Parameter Name="original_RcategoryId" Type="Int32" /> <asp:Parameter Name="original_Name" Type="String" /> <asp:Parameter Name="original_Area" Type="Double" /> <asp:Parameter Name="original_Bednum&qu
17、ot; Type="Int32" /> <asp:Parameter Name="original_Price" Type="Decimal" /> <asp:Parameter Name="original_Aircondition" Type="Int32" /> <asp:Parameter Name="original_TV" Type="Int32" /> </DeleteParameters>
18、; <InsertParameters> <asp:Parameter Name="RcategoryId" Type="Int32" /> <asp:Parameter Name="Name" Type="String" /> <asp:Parameter Name="Area" Type="Double" /> <asp:Parameter Name="Bednum" Type="Int3
19、2" /> <asp:Parameter Name="Price" Type="Decimal" /> <asp:Parameter Name="Aircondition" Type="Int32" /> <asp:Parameter Name="TV" Type="Int32" /> </InsertParameters> <UpdateParameters> <asp:Parameter N
20、ame="Name" Type="String" /> <asp:Parameter Name="Area" Type="Double" /> <asp:Parameter Name="Bednum" Type="Int32" /> <asp:Parameter Name="Price" Type="Decimal" /> <asp:Parameter Name="Aircond
21、ition" Type="Int32" /> <asp:Parameter Name="TV" Type="Int32" /> <asp:Parameter Name="original_RcategoryId" Type="Int32" /> <asp:Parameter Name="original_Name" Type="String" /> <asp:Parameter Name="
22、;original_Area" Type="Double" /> <asp:Parameter Name="original_Bednum" Type="Int32" /> <asp:Parameter Name="original_Price" Type="Decimal" /> <asp:Parameter Name="original_Aircondition" Type="Int32" /> &l
23、t;asp:Parameter Name="original_TV" Type="Int32" /></UpdateParameters>添加客房類型關(guān)鍵代碼如下:/建立連接對象 SqlConnection myConn = new SqlConnection(); string cnString = ConfigurationManager.ConnectionStrings"RoomManageConnection".ToString(); myConn.ConnectionString = cnString;
24、/建立命令對象 SqlCommand cmd = new SqlCommand(); cmd.Connection = myConn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "InsertRoomCategory" /使用parameter對象處理存儲過程中所有參數(shù) SqlParameter p_num = new SqlParameter("Num", SqlDbType.Int); SqlParameter p_name = new SqlParameter(
25、"Name", SqlDbType.VarChar, 50); SqlParameter p_area = new SqlParameter("Area", SqlDbType.Float); SqlParameter p_bednum = new SqlParameter("BedNum", SqlDbType.Int); SqlParameter p_price = new SqlParameter("Price", SqlDbType.Money); SqlParameter p_aircondition =
26、 new SqlParameter("AirCondition", SqlDbType.Int); SqlParameter p_tv = new SqlParameter("TV", SqlDbType.Int); cmd.Parameters.Add(p_num); cmd.Parameters.Add(p_name); cmd.Parameters.Add(p_area); cmd.Parameters.Add(p_bednum); cmd.Parameters.Add(p_price); cmd.Parameters.Add(p_aircondi
27、tion); cmd.Parameters.Add(p_tv); p_num.Value = int.Parse(TextBox1.Text); p_name.Value = TextBox2.Text; p_area.Value = TextBox3.Text; p_bednum.Value = int.Parse(TextBox4.Text); p_price.Value = TextBox5.Text; p_aircondition.Value = int.Parse(TextBox6.Text); p_tv.Value = int.Parse(TextBox7.Text); /執(zhí)行存儲
28、過程完成添加類型 myConn.Open(); cmd.ExecuteNonQuery(); myConn.Close();4.4 客房信息管理圖19 客房信息管理界面客房管理界面主要是實現(xiàn)對客房信息的增、刪、改、查功能,實現(xiàn)過程是對GridView進行SqlDataSource的綁定并讓其自動生成修改和刪除語句。前臺數(shù)據(jù)源關(guān)鍵代碼如下:<Columns> <asp:BoundField DataField="RoomId" HeaderText="客房編號" ReadOnly="True" SortExpressi
29、on="RoomId" /> <asp:BoundField DataField="RcategoryId" HeaderText="類型編號" SortExpression="RcategoryId" /> <asp:BoundField DataField="Rposition" HeaderText="客房位置" SortExpression="Rposition" /> <asp:BoundField DataF
30、ield="Description" HeaderText="描述" SortExpression="Description" /> <asp:CommandField HeaderText="操作" ShowDeleteButton="True" ShowEditButton="True" /></Columns><DeleteParameters> <asp:Parameter Name="original_Roo
31、mId" Type="Int32" /> <asp:Parameter Name="original_RcategoryId" Type="Int32" /> <asp:Parameter Name="original_Rposition" Type="String" /> <asp:Parameter Name="original_Description" Type="String" /> </D
32、eleteParameters> <InsertParameters> <asp:Parameter Name="RoomId" Type="Int32" /> <asp:Parameter Name="RcategoryId" Type="Int32" /> <asp:Parameter Name="Rposition" Type="String" /> <asp:Parameter Name="Desc
33、ription" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="RcategoryId" Type="Int32" /> <asp:Parameter Name="Rposition" Type="String" /> <asp:Parameter Name="Description" Type=&q
34、uot;String" /> <asp:Parameter Name="original_RoomId" Type="Int32" /> <asp:Parameter Name="original_RcategoryId" Type="Int32" /> <asp:Parameter Name="original_Rposition" Type="String" /> <asp:Parameter Name="
35、;original_Description" Type="String" /> </UpdateParameters>添加新客房關(guān)鍵代碼如下:/建立連接對象 SqlConnection myConn = new SqlConnection(); string cnString = ConfigurationManager.ConnectionStrings"RoomManageConnection".ToString(); myConn.ConnectionString = cnString; /建立命令對象 SqlComma
36、nd cmd = new SqlCommand(); cmd.Connection = myConn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "InsertRoom" /使用parameter對象處理存儲過程中所有參數(shù) SqlParameter p_rid = new SqlParameter("RoomId", SqlDbType.Int); SqlParameter p_rcid = new SqlParameter("RCategoryId&quo
37、t;, SqlDbType.Int); SqlParameter p_rp = new SqlParameter("RPosition", SqlDbType.NVarChar,50); SqlParameter p_des = new SqlParameter("Description", SqlDbType.NVarChar,50); cmd.Parameters.Add(p_rid); cmd.Parameters.Add(p_rcid); cmd.Parameters.Add(p_rp); cmd.Parameters.Add(p_des); p
38、_rid.Value = int.Parse(TextBox1.Text); p_rcid.Value = int.Parse(TextBox2.Text); p_rp.Value = TextBox3.Text; p_des.Value = TextBox4.Text; /執(zhí)行存儲過程完成添加新客房 myConn.Open(); cmd.ExecuteNonQuery(); myConn.Close();4.5 客房經(jīng)營管理圖20 客房經(jīng)營管理界面客房經(jīng)營管理界面主要實現(xiàn)的客戶訂房和退房以及按照房間類型和房間狀態(tài)對經(jīng)營記錄進行查詢的功能。功能本質(zhì)是實現(xiàn)對數(shù)據(jù)庫的查詢和修改。查詢的關(guān)鍵代碼如下
39、:string sqlcon = ConfigurationManager.ConnectionStrings"RoomManageConnection".ToString(); protected void Page_Load(object sender, EventArgs e) SqlConnection conn = new SqlConnection(); conn.ConnectionString = sqlcon; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandType
40、 = CommandType.StoredProcedure; cmd.CommandText = "ShowRoomsInfo" SqlDataAdapter myAdapter = new SqlDataAdapter(); myAdapter.SelectCommand = cmd; conn.Open(); DataSet ds = new DataSet(); myAdapter.Fill(ds); conn.Close(); GridView1.DataSource = ds; GridView1.DataBind(); for (int i = 0; i &l
41、t; GridView1.Rows.Count; i+) if (GridView1.Rowsi.Cells6.Text = "1") GridView1.Rowsi.Cells6.Text = "可訂" else if (GridView1.Rowsi.Cells6.Text = "2") GridView1.Rowsi.Cells6.Text = "不可訂" if (!IsPostBack) SqlConnection mycon1 = new SqlConnection(); mycon1.Connectio
42、nString = sqlcon; SqlCommand cmd1 = new SqlCommand(); cmd1.Connection = mycon1; cmd1.CommandText = "select * from RoomCategory" SqlDataAdapter myAdapter1 = new SqlDataAdapter(); myAdapter1.SelectCommand = cmd1; mycon1.Open(); DataSet ds1 = new DataSet(); myAdapter1.Fill(ds1); mycon1.Close(
43、); DataRow foundRows1 = ds1.Tables0.Select(); int i = 0; foreach(DataRow foundRow in foundRows1) DropDownList1.Items.Add(foundRow1.ToString(); DropDownList1.Itemsi.Value = foundRow0.ToString(); i+; SqlConnection mycon2 = new SqlConnection(); mycon2.ConnectionString = sqlcon; SqlCommand cmd2 = new Sq
44、lCommand(); SqlDataAdapter myAdapter2 = new SqlDataAdapter(); cmd2.Connection = mycon2; cmd2.CommandText = "select distinct Status from RoomStatus" myAdapter2.SelectCommand = cmd2; mycon2.Open(); DataSet ds2 = new DataSet(); myAdapter2.Fill(ds2); mycon2.Close(); DataRow foundRows2 = ds2.Ta
45、bles0.Select(); foreach(DataRow foundRow in foundRows2) DropDownList2.Items.Add(foundRow0.ToString(); protected void Button1_Click(object sender, EventArgs e) SqlConnection myconn = new SqlConnection(); myconn.ConnectionString = sqlcon; SqlCommand cmd = new SqlCommand(); cmd.Connection = myconn; cmd
46、.CommandType = CommandType.StoredProcedure; cmd.CommandText = "ShowRoomByCatgAndStatus" SqlParameter p_RId = new SqlParameter("RCategoryId", SqlDbType.Int); SqlParameter p_sta = new SqlParameter("Status", SqlDbType.Int); cmd.Parameters.Add(p_RId); cmd.Parameters.Add(p_s
47、ta); p_RId.Value = int.Parse(DropDownList1.SelectedItem.Value); p_sta.Value = int.Parse(DropDownList2.SelectedItem.Value); SqlDataAdapter myAdapter = new SqlDataAdapter(); myAdapter.SelectCommand = cmd; myconn.Open(); DataSet ds = new DataSet(); myAdapter.Fill(ds); myconn.Close(); GridView1.DataSour
48、ce = ds; GridView1.DataBind(); for(int i = 0; i < GridView1.Rows.Count; i+) if (GridView1.Rowsi.Cells6.Text= "1") GridView1.Rowsi.Cells6.Text= "可訂" else if(GridView1.Rowsi.Cells6.Text= "2") GridView1.Rowsi.Cells6.Text = "不可訂" protected void GridView1_Select
49、edIndexChanged(object sender, EventArgs e) protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) Response.Redirect("RoomCheckOut.aspx?test=" + int.Parse(GridView1.Rowse.RowIndex.Cells0.Text.Trim(); protected void GridView1_RowCancelingEdit(object sender, GridViewCa
50、ncelEditEventArgs e) GridView1.EditIndex = -1; Bind(); protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) GridView1.EditIndex = e.NewEditIndex; Bind(); protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = sqlcon; SqlParameter p_RId = new SqlParameter("RoomId", SqlDbType.Int); string sqlstr = string.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商品房預(yù)售抵押合同
- 筒倉鋼管樓梯施工方案
- 變壓器采購合同采購合同
- 商鋪物業(yè)服務(wù)合同
- 酒店裝修改造施工方案
- 外墻面鋁鋼板加固施工方案
- 2025屆甘肅省蘭州市部分學(xué)校高三一模地理試題(原卷版+解析版)
- 連云港燃氣管道施工方案
- 計劃生育手術(shù)器械項目風(fēng)險識別與評估綜合報告
- 2025年人力資源制度:04 -藝人簽約合同書
- 高考英語作文練習(xí)紙(標(biāo)準(zhǔn)答題卡)
- 教科版二年級科學(xué)下冊(做一個指南針)教育教學(xué)課件
- GB/T 19519-2014架空線路絕緣子標(biāo)稱電壓高于1 000 V交流系統(tǒng)用懸垂和耐張復(fù)合絕緣子定義、試驗方法及接收準(zhǔn)則
- GB/T 14996-2010高溫合金冷軋板
- 用地性質(zhì)分類表
- 電子技術(shù)基礎(chǔ)(數(shù)字部分 第五版 康華光)華中科大課件 第
- 公路工程概論全套課件
- 缺血性卒中和短暫性腦缺血發(fā)作的二級預(yù)防課件
- 貫入法砌筑砂漿抗壓強度檢測記錄
- 中醫(yī)外科學(xué)瘡瘍課件
- 互通立交的安全性評價要點與案例介紹
評論
0/150
提交評論