賓館住宿管理系統_第1頁
賓館住宿管理系統_第2頁
賓館住宿管理系統_第3頁
賓館住宿管理系統_第4頁
賓館住宿管理系統_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄一 需求分析2二 數據庫概念結構設計22.1功能模塊分析22.2系統模塊設計2三 數據庫設計33.1數據庫概念結構設計33.2數據庫邏輯結構設計5四 賓館住宿系統的實現64.1 數據庫的實現6五 住宿管理系統的實現105.1 登錄窗口模塊的創建與實現105.2系統管理模塊的創建與實現115.3客戶信息管理模塊的創建于實現135.4 預定記錄管理模塊的創建于實現165.5入住信息管理模塊的創建于實現195.6 客戶結算管理模塊的創建與實現22六 總結24七 參考文獻24一 需求分析隨著外出人流因為生活,商業等方面的增多,賓館的發展也日益的迅猛,由于顧客量的增多,客戶登記時間的廣泛,賓館收益的

2、日益增多,僅僅依靠手寫的老式輸入記賬法,是無法滿足賓館的需求的,同時這也是浪費人力和時間的。開發這個數據庫,目的就在于能夠更好的對客房的預訂情況,空余情況,顧客信息,顧客住宿時間和所用費用,客房房態等進行精確的查詢,以便更好的完善和更新賓館信息系統。數據庫的概念結構設計二 數據庫概念結構設計2.1功能模塊分析根據賓館的具體情況,系統主要功能如下:1.客房類型管理:提供有關客房類型狀況的規范,如標準間,單人間的價格,設施的配置等信息。2.客房信息管理:管理各個房間的具體信息,如類型,位置等。3.客戶信息管理:入住賓館的客人具體信息的錄入,保存等。4.查詢功能:包括客戶信息查詢,客房信息查詢,住宿

3、信息查詢,等。5.入住管理系統:登記入住信息,分配房間等。6.預訂管理功能:登記預訂客戶,客房的信息以及瀏覽查詢等。7.結算功能:客戶退房收款等。8.系統管理:用戶管理等。2.2系統模塊設計根據以上對系統的功能需求的分析,將系統的功能劃分為三大模塊:1.數據管理:包括客房類型管理,客房信息管理,客戶信息管理。2.前臺操作:包括各種信息的查詢,入住和預訂登記和結算的管理。3.系統管理:用戶注冊,修改密碼,用戶信息管理。系統功能模塊圖如下:賓館住宿管理系統系統管理前臺操作數據管理用戶注冊修改密碼用戶管理 查詢 登記 結算客房類型管理客房信息管理客戶信息管理客房信息查詢客戶信息查詢入住記錄查詢預定記

4、錄查詢入住登記預訂登記 功能模塊結構圖三 數據庫設計3.1數據庫概念結構設計通過以上對數據庫的設計,可得到幾個數據庫實體,其E-R圖如下1.客戶實體圖 客戶客戶號姓名性別籍貫2.客房實體圖客房房間號類型樓層3.客房類型實體圖是否有空調是否有衛生間類型是否有電話面積價格是否有電視額定床位額定人數客房類型4. 系統綜合E-R圖客戶客房類型客房入住預訂客戶號房間號入住日期結算日期預定押金預定天數預定入住日期預定日期房間號客戶號屬于客戶客房類型客房入住預訂客戶號房間號入住日期結算日期預定押金預定天數預定入住日期預定日期房間號客戶號屬于3.2數據庫邏輯結構設計客房類型(類型 面積 價格 額定床位 額定人

5、數 是否有電視 是否有電話 是否有空調 是否有衛生間)客房信息(房間號 類型 樓層)客戶信息(客戶號 姓名 性別 籍貫)入住記錄(客戶號 房間號 入住日期 結算日期 備注)預定記錄(客戶號 房間號 預定日期 預定于之日期 預定天數)系統用戶( 用戶名 密碼)四 賓館住宿系統的實現4.1 數據庫的實現create database 賓館住宿管理系統on primary(name=賓館住宿管理系統_data,filename='F:sql賓館住宿管理系統_data.mdf',size=5,maxsize=unlimited,filegrowth=10% )log on(name=賓

6、館住宿管理系統_log,filename='F:sql賓館住宿管理系統_log.ldf',size=5,maxsize=unlimited,filegrowth=10% )create table 客房類型(類型 char(12) primary key,面積 int not null,價格 money not null,額定床位 int ,額定人數 int,是否有電視 char(2) default '有',是否有電話 char(2) default '有',是否有空調 char(2) default '有',是否有衛生間 ch

7、ar(2) default '有')create table 客房信息(房間號 int primary key,類型 char(12) not null,樓層 int not null)create table 客戶信息(客戶號 int primary key,姓名 varchar(10) not null,性別 char(2) default '女',籍貫 varchar(20) not null)create table 入住記錄(客戶號 int foreign key references 客戶信息(客戶號),房間號 int foreign key ref

8、erences 客房信息(房間號),入住日期 datetime not null,結算日期 datetime not null,備注 varchar(30)create table 預定記錄(客戶號 int foreign key references 客戶信息(客戶號),房間號 int foreign key references 客房信息(房間號),預定日期 datetime not null,預定入住日期 datetime not null,預定天數 tinyint not null)create table 系統用戶(用戶名 varchar(10) primary key,密碼 var

9、char(10) not null)create view 客房詳細信息 as select 客房信息.房間號,客房信息.類型,客房類型.價格,客房類型.額定床位,客房類型.額定人數,客房信息.樓層,客房類型.是否有電視,客房類型.是否有電話,客房類型.是否有空調,客房類型.是否有衛生間 from 客房類型 left join 客房信息 on 客房類型.類型=客房信息.類型create view 在住記錄1asselect 入住記錄.客戶號,客戶信息.姓名,入住記錄.房間號,客戶信息.性別,入住記錄.入住日期from 客戶信息 left join 入住記錄 on 客戶信息.客戶號=入住記錄.客

10、戶號where 入住記錄.備注='未退房' create view 歷史記錄1asselect 客戶信息.客戶號,客戶信息.姓名,入住記錄.房間號,入住記錄.入住日期,入住記錄.結算日期,入住天數=day(結算日期) -day(入住日期),入住記錄.備注from 客戶信息 left join 入住記錄 on 客戶信息.客戶號=入住記錄.客戶號where 入住記錄.備注='已退房' create view 在住記錄2asselect 入住記錄.客戶號,客戶信息.姓名,入住記錄.房間號,客戶信息.性別,入住記錄.入住日期,客房信息.類型from 入住記錄,客戶信息,

11、客房信息 where 入住記錄.客戶號=客戶信息.客戶號 and 入住記錄.房間號=客房信息.房間號 and 入住記錄.備注='未退房'create view 在住記錄3asselect 在住記錄2.客戶號,在住記錄2.姓名,在住記錄2.房間號,在住記錄2.性別,在住記錄2.入住日期,在住記錄2.類型,客房類型.價格,客房類型.額定床位,客房類型.額定人數from 客房類型 inner join 在住記錄2 on 在住記錄2.類型=客房類型.類型create view 歷史記錄2asselect 歷史記錄1.客戶號,歷史記錄1.姓名,歷史記錄1.房間號,歷史記錄1.入住日期,歷

12、史記錄1.結算日期,歷史記錄1.入住天數,客房信息.類型from 歷史記錄1 inner join 客房信息 on 歷史記錄1.房間號=客房信息.房間號create view 歷史記錄3asselect 歷史記錄2.客戶號,歷史記錄2.姓名,歷史記錄2.房間號,歷史記錄2.入住日期,歷史記錄2.結算日期,歷史記錄2.入住天數,歷史記錄2.類型,客房類型.價格,結算金額=價格*入住天數from 歷史記錄2 inner join 客房類型 on 歷史記錄2.類型=客房類型.類型 create view 預訂信息1asselect 客戶信息.客戶號,客戶信息.姓名,客戶信息.性別,預定記錄.房間號,

13、預定記錄.預定日期,預定記錄.預定入住日期,預定記錄.預定天數from 客戶信息 left join 預定記錄 on 客戶信息.客戶號=預定記錄.客戶號 create view 預訂信息2asselect 預訂信息1.客戶號,預訂信息1.姓名,預訂信息1.性別,預訂信息1.房間號,預訂信息1.預定日期,預訂信息1.預定入住日期,預訂信息1.預定天數,客房信息.類型from 預訂信息1 left join 客房信息 on 預訂信息1.房間號= 客房信息.房間號 create view 預訂信息3asselect 預訂信息2.客戶號,預訂信息2.姓名,預訂信息2.性別,預訂信息2.房間號,預訂信息

14、2.預定日期,預訂信息2.預定入住日期,預訂信息2.預定天數,預訂信息2.類型,客房類型.價格,客房類型.額定床位,客房類型.額定人數,預交押金=價格*預定天數from 預訂信息2 inner join 客房類型 on 預訂信息2.類型=客房類型.類型create view 客房在住人數統計asselect 在住記錄3.房間號,在住記錄3.類型,在住人數=count(在住記錄3.房間號),在住記錄3.額定人數 from 在住記錄3group by 在住記錄3.房間號,在住記錄3.類型,在住記錄3.額定人數create view 客滿房間asselect 客房在住人數統計.房間號,客房在住人數統

15、計.類型,客房在住人數統計.在住人數,客房在住人數統計.額定人數from 客房在住人數統計where (客房在住人數統計.類型<>'雙人間' or 客房在住人數統計.類型<>'三人間') and 客房在住人數統計.在住人數>0) or (客房在住人數統計.類型='雙人間' and 客房在住人數統計.在住人數=2) or(客房在住人數統計.類型='三人間' and 客房在住人數統計.在住人數=3)create view 未滿房間asselect 房間號,類型from 客房信息where 房間號 not

16、in (select 房間號 from 客滿房間)create view 空房asselect 客房信息.房間號,客房信息.類型,客房類型.額定人數from 客房信息,客房類型where 客房信息.類型= 客房類型.類型 and 客房信息.房間號 not in (select 房間號 from 入住記錄 where 備注='未退房')五 住宿管理系統的實現5.1 登錄窗口模塊的創建與實現using System;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text

17、;namespace 用戶登錄窗口 public partial class login : Form public login() InitializeComponent(); private void button1_Click_1(object sender, EventArgs e) SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=賓館住宿管理系統; User ID=sa; Password=123456"); conn.Open(); string str = "

18、;select * from 系統用戶 where 用戶名='" + textBox1.Text + "' and 密碼='" + textBox2.Text + "'" SqlCommand cmd = new SqlCommand(str, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()/如果找到用戶信息,說明登錄成功 MessageBox.Show("登陸成功!"); this.DialogResult = Dia

19、logResult.OK; else MessageBox.Show("用戶名或密碼錯誤!"); textBox1.Text = textBox2.Text = "" textBox1.Focus(); conn.Close(); private void button2_Click(object sender, EventArgs e) this.Close(); using System;using System.ComponentModel;using System.Data;using System.Drawing;using System.Te

20、xt;namespace 用戶登錄窗口 static class Program / <summary> / 應用程序的主入口點。 / </summary> STAThread static void Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); login f = new login(); f.ShowDialog(); Application.Run(new MDIParent1(); 5.2系統管理模塊的創建與實現usin

21、g System;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;namespace 用戶登錄窗口 public partial class MDIParent1 : Form / private int childFormNumber = 0; public MDIParent1() InitializeComponent(); private void 客戶信息管理ToolStripMenuItem_Click(object sender, EventArgs e) F

22、orm3 Form3 = new Form3(); Form3.MdiParent = this; Form3.Show(); private void 預訂信息管理ToolStripMenuItem_Click(object sender, EventArgs e) Form4 Form4 = new Form4(); Form4.MdiParent = this; Form4.Show(); private void 入住信息管理ToolStripMenuItem_Click(object sender, EventArgs e) Form5 Form5 = new Form5(); Fo

23、rm5.MdiParent = this; Form5.Show(); private void 客戶結算管理ToolStripMenuItem_Click(object sender, EventArgs e) Form6 Form6 = new Form6(); Form6.MdiParent = this; Form6.Show(); 5.3客戶信息管理模塊的創建于實現using System;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;namespace 用戶登

24、錄窗口 public partial class Form3 : Form public Form3() InitializeComponent(); SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=賓館住宿管理系統;User Id=sa; Password=123456"); conn.Open(); SqlCommand cmd = new SqlCommand("select distinct(籍貫) from 客戶信息", conn); SqlDataRe

25、ader dr = cmd.ExecuteReader(); while (dr.Read() / MessageBox.Show(dr.GetString(0); conn.Close(); private void Form3_Load(object sender, EventArgs e) / TODO: 這行代碼將數據加載到表“賓館住宿管理系統DataSet1.客戶信息”中。您可以根據需要移動或移除它。 / this.客戶信息TableAdapter.Fill(this.賓館住宿管理系統DataSet1.客戶信息); private void dataGridView1_Click(o

26、bject sender, EventArgs e) textBox1.Text = dataGridView1.SelectedRows0.Cells0.Value.ToString(); textBox2.Text = dataGridView1.SelectedRows0.Cells1.Value.ToString(); textBox3.Text = dataGridView1.SelectedRows0.Cells2.Value.ToString(); textBox4.Text = dataGridView1.SelectedRows0.Cells3.Value.ToString(

27、); private void button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=賓館住宿管理系統;User Id=sa;Password=123456"); SqlDataAdapter myAdapter = new SqlDataAdapter("select * from 客戶信息", conn); DataSet myDataSet = new DataSet(); myA

28、dapter.Fill(myDataSet, "a"); dataGridView1.DataSource = myDataSet.Tables"a" private void button2_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=賓館住宿管理系統;User Id=sa;Password=123456"); conn.Open(); string str = &quo

29、t;insert into 客戶信息 values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "')" SqlCommand cmd = new SqlCommand(str, conn); cmd.ExecuteNonQuery(); conn.Close(); MessageBox.Show(&q

30、uot;添加成功!"); button1_Click(sender, e); private void button3_Click(object sender, EventArgs e) if (MessageBox.Show("確定要刪除所選用戶嗎?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) != DialogResult.Yes) return; string 客戶號 = dataGridView

31、1.SelectedRows0.Cells0.Value.ToString(); SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=賓館住宿管理系統; User ID=sa; Password=123456"); conn.Open(); string str = "delete from 客戶信息 where 客戶號='" + 客戶號 + "'" SqlCommand cmd = new SqlCommand(str, con

32、n); cmd.ExecuteNonQuery(); conn.Close(); MessageBox.Show("刪除成功!"); button1_Click(sender, e); private void button4_Click(object sender, EventArgs e) if (MessageBox.Show("確定要修改所選用戶嗎?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Butt

33、on2) != DialogResult.Yes) return; SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=賓館住宿管理系統; User ID=sa; Password=123456"); conn.Open(); string str = "update 客戶信息 set 姓名='" + textBox2.Text + "',性別='" + textBox3.Text + "',籍貫=

34、9;" + textBox4.Text + "' where 客戶號='" + textBox1.Text + "'" SqlCommand cmd = new SqlCommand(str, conn); cmd.ExecuteNonQuery(); conn.Close(); MessageBox.Show("修改成功!"); button1_Click(sender, e); private void button5_Click(object sender, EventArgs e) strin

35、g str = "select * from 客戶信息 where " if (checkBox1.Checked) str += "客戶號='" + textBox5.Text + "' and " if (checkBox2.Checked) str += "姓名='" + textBox6.Text + "' and " if (checkBox3.Checked) str += "性別='" + textBox7.Text +

36、"' and " ; if (checkBox4.Checked) str += "籍貫='" + comboBox1.SelectedItem + "'" else str = str.Substring(0, str.Length - 4); MessageBox.Show(str); dataGridView1.DataSource = 0; SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=賓館住宿管理系

37、統;User Id=sa;Password=123456"); SqlDataAdapter myAdapter = new SqlDataAdapter(str, conn); DataSet myDataSet = new DataSet(); myAdapter.Fill(myDataSet, "a"); dataGridView1.DataSource = myDataSet.Tables"a" 5.4 預定記錄管理模塊的創建于實現using System;using System.ComponentModel;using System

38、.Data;using System.Drawing;using System.Text;namespace 用戶登錄窗口 public partial class Form4 : Form public Form4() InitializeComponent(); private void Form4_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection("Data Source=.;

39、 Initial Catalog=賓館住宿管理系統; User ID=sa; Password=123456"); SqlDataAdapter myAdapter = new SqlDataAdapter("Select * from 預定記錄", conn); DataSet myDataSet = new DataSet(); myAdapter.Fill(myDataSet, "a"); dataGridView1.DataSource = myDataSet.Tables"a" private void dataG

40、ridView1_Click(object sender, EventArgs e) textBox1.Text = dataGridView1.SelectedRows0.Cells0.Value.ToString(); textBox2.Text = dataGridView1.SelectedRows0.Cells1.Value.ToString(); textBox3.Text = dataGridView1.SelectedRows0.Cells2.Value.ToString(); textBox4.Text = dataGridView1.SelectedRows0.Cells3

41、.Value.ToString(); textBox5.Text = dataGridView1.SelectedRows0.Cells4.Value.ToString(); private void button2_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=賓館住宿管理系統; User ID=sa; Password=123456"); conn.Open(); string str = "ins

42、ert into 預定記錄 values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')" SqlCommand cmd = new SqlCommand(str, conn); cmd.ExecuteNonQuer

43、y(); conn.Close(); MessageBox.Show("添加成功!"); button1_Click(sender, e); private void button3_Click(object sender, EventArgs e) if (MessageBox.Show("確定要刪除所選用戶嗎?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) != DialogResult.Y

44、es) return; string 客戶號 = dataGridView1.SelectedRows0.Cells0.Value.ToString(); SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=賓館住宿管理系統; User ID=sa; Password=123456"); conn.Open(); string str = "delete from 預定記錄 where 客戶號='" + 客戶號 + "'" Sql

45、Command cmd = new SqlCommand(str, conn); cmd.ExecuteNonQuery(); conn.Close(); MessageBox.Show("刪除成功!"); button1_Click(sender, e); private void button4_Click(object sender, EventArgs e) if (MessageBox.Show("確定要修改所選用戶嗎?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Excl

46、amation, MessageBoxDefaultButton.Button2) != DialogResult.Yes) return; SqlConnection conn = new SqlConnection("Data Source=.; Initial Catalog=賓館住宿管理系統; User ID=sa; Password=123456"); conn.Open(); string str = "update 預定記錄 set 房間號='" + textBox2.Text + "',預定日期='&qu

47、ot; + textBox3.Text + "',預定入住日期='" + textBox4.Text + "',預定天數='" + textBox5.Text + "' where 客戶號='" + textBox1.Text + "'" SqlCommand cmd = new SqlCommand(str, conn); cmd.ExecuteNonQuery(); conn.Close(); MessageBox.Show("修改成功!&quo

48、t;); button1_Click(sender, e); private void button5_Click(object sender, EventArgs e) string str = "Select * from 預定記錄 where " if (checkBox1.Checked)/客戶號選擇 str += "客戶號='" + textBox6.Text + "'and" if (checkBox2.Checked)/房間號選擇 str += "房間號='" + textBo

49、x7.Text + "'and" if (checkBox3.Checked)/預定日期選擇 str += "預定日期='" + textBox8.Text + "'and" if (checkBox4.Checked)/預定入住日期選擇 str += "預定入住日期='" + textBox9.Text + "'" else/如果沒有選擇預定天數 str = str.Substring(0, str.Length - 3);/去掉末尾的and Messa

50、geBox.Show(str); dataGridView1.DataSource = 0; SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=賓館住宿管理系統;User Id=sa;Password=123456"); SqlDataAdapter myAdapter = new SqlDataAdapter(str, conn); DataSet myDataSet = new DataSet(); myAdapter.Fill(myDataSet, "a"); dataGridView1.DataSource = myData

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論