数据库实验报告宾馆管理.docx

上传人:b****2 文档编号:1936224 上传时间:2023-05-02 格式:DOCX 页数:19 大小:231.99KB
下载 相关 举报
数据库实验报告宾馆管理.docx_第1页
第1页 / 共19页
数据库实验报告宾馆管理.docx_第2页
第2页 / 共19页
数据库实验报告宾馆管理.docx_第3页
第3页 / 共19页
数据库实验报告宾馆管理.docx_第4页
第4页 / 共19页
数据库实验报告宾馆管理.docx_第5页
第5页 / 共19页
数据库实验报告宾馆管理.docx_第6页
第6页 / 共19页
数据库实验报告宾馆管理.docx_第7页
第7页 / 共19页
数据库实验报告宾馆管理.docx_第8页
第8页 / 共19页
数据库实验报告宾馆管理.docx_第9页
第9页 / 共19页
数据库实验报告宾馆管理.docx_第10页
第10页 / 共19页
数据库实验报告宾馆管理.docx_第11页
第11页 / 共19页
数据库实验报告宾馆管理.docx_第12页
第12页 / 共19页
数据库实验报告宾馆管理.docx_第13页
第13页 / 共19页
数据库实验报告宾馆管理.docx_第14页
第14页 / 共19页
数据库实验报告宾馆管理.docx_第15页
第15页 / 共19页
数据库实验报告宾馆管理.docx_第16页
第16页 / 共19页
数据库实验报告宾馆管理.docx_第17页
第17页 / 共19页
数据库实验报告宾馆管理.docx_第18页
第18页 / 共19页
数据库实验报告宾馆管理.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库实验报告宾馆管理.docx

《数据库实验报告宾馆管理.docx》由会员分享,可在线阅读,更多相关《数据库实验报告宾馆管理.docx(19页珍藏版)》请在冰点文库上搜索。

数据库实验报告宾馆管理.docx

数据库实验报告宾馆管理

 

数据库概论实验报告

 

一、项目名称

宾馆管理系统

二、需求分析

本系统针对用户和客户以及客房的管理采用了C/S结构而设计。

用户信息维护、客房信息管理、客房类型维护和个人密码修改几个模块。

前台界面可分为:

显示所有房间信息、显示空闲房间信息和显示客户入住、结算信息。

主要功能是:

1、有关客房类型的制定:

客房类型名、房间面积、床位数量、住房单价、是否有空调、电话等。

2、客房基本信息制定:

包括房间号、客房类型名、客房楼层、房间额定人数、客房实际人数、备注等。

3、剩余空房、客房未满信息的查询或按房间号查询。

4、客户入住信息录入:

客户ID、房间号、客户姓名、性别、籍贯、入住日期等。

5、客户结算:

用于客户退房时按入住时间和结算时间计算房间费用。

三、概念结构设计

实体的属性:

用户:

{用户名,密码}

房间:

{房间号,类型,价格,状态,额定人数,实际人数,所在楼层}

客户:

{客户ID,姓名,性别,籍贯,住宿费用,入住时间,结算时间}

 

E-R图:

 

四:

逻辑结构设计

E-R图向关系模型的转换

把E-R图转换为关系模型。

关系的码用下划线标出。

用户(用户ID,用户名,密码)

此为用户实体对应的关系模式。

该关系模式包含了联系“管理房间”所对应的关系模式。

RoomType(ID,类型名称,面积,床位,价钱)

此为联系“房间管理”所对应的关系模式。

Room(房间号,房间类型,房间楼层,额定人数,实际人数)

此为房间实体对应的关系模式。

该关系模式已包含了联系“入住”所对应的关系模式。

Client(客户ID,房间号,客户姓名,性别,籍贯,入住日期,结算日期)

此为客户实体对应的关系模式。

该关系模式已包含了联系“管理”所对应的关系模式。

 

5、物理结构设计

用户:

列名

数据类型

长度

用户ID

int

4

用户名

varchar

16

密码

varchar

16

RoomType:

列名

数据类型

长度

ID

int

4

类型名称

varchar

16

面积

int

4

床位

int

4

价钱

smallmoney

4

Room:

列名

数据类型

长度

房间号

varchar

8

房间类型

varchar

16

房间楼层

int

4

额定人数

int

4

实际人数

int

4

Client:

列名

数据类型

长度

客户ID

int

4

房间号

varchar

8

客户姓名

varchar

16

性别

char

2

籍贯

varchar

50

入住日期

smalldatetime

4

结算日期

smalldatetime

4

6、部分关键SQL语句

//登录时查询是否有对应的用户名和密码

stringsql="select*from用户where用户名='"+textBox1.Text.Trim()+"'and密码='"+textBox2.Text.Trim()+"'";

//添加客房类型语句

stringsql="insertintoRoomType(类型名称,面积,床位,价钱,空调,电话)values('"+textBox1.Text.ToString()+"','"+Convert.ToInt32(textBox2.Text)+"','"+Convert.ToInt32(textBox3.Text)+"','"+Convert.ToInt32(textBox4.Text)+"','"+comboBox1.Text.ToString()+"','"+comboBox2.Text.ToString()+"')";

//删除对应条件的客房类型

stringsql="deletefromRoomTypewhere类型名称='"+textBox1.Text+"'";

//添加新客房信息sql语句

stringsql1="insertintoRoom(房间号,房间类型,房间楼层,额定人数,实际人数,备注)values('"+textBox1.Text.ToString()+"','"+comboBox1.Text.ToString()+"','"+comboBox2.Text.ToString()+"','"+Convert.ToInt32(comboBox3.Text)+"','"+Convert.ToInt32(comboBox4.Text)+"','"+textBox2.Text.ToString()+"')";

//查询房间未满的客房

stringsql="select*fromRoomwhere额定人数>实际人数";

//查询对应客户ID的房间的价钱

stringsql2="select价钱fromRoomTypewhereRoomType.类型名称=(select房间类型fromRoomwhere(select房间号fromClientwhere客户ID='"+comboBox1.Text+"')=Room.房间号)";

//客户结算后修改对应房间的实际人数(人数-1)

stringsql="updateRoomset实际人数=实际人数-1whereRoom.房间号=(select房间号fromClientwhere客户ID='"+comboBox1.Text+"')";

//客户结算后删除客户信息

stringsql1="deletefromClientwhereClient.客户ID='"+comboBox1.Text+"'";

 

7、部分功能模块及代码

主页面

 

添加客房

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespace宾馆管理系统

{

publicpartialclassRoom:

Form

{

publicboolflag;

publicRoom()

{

InitializeComponent();

}

publicclassdbClass

{

publicOleDbConnectionMycon=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=db.mdb");

}

dbClassdb1=newdbClass();

privatevoidRoom_Load(objectsender,EventArgse)

{

db1.Mycon.Open();

OleDbDataAdapteradp=newOleDbDataAdapter("select类型名称fromRoomType",db1.Mycon);

DataSetds=newDataSet();

adp.Fill(ds,"RoomType");

comboBox1.DisplayMember="类型名称";

comboBox1.DataSource=ds.Tables["RoomType"];

db1.Mycon.Close();

comboBox1.Text="";

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

textBox1.Clear();

textBox2.Clear();

comboBox1.Text="";

comboBox2.Text="";

comboBox3.Text="";

comboBox4.Text="";

textBox1.Enabled=true;

textBox2.Enabled=true;

comboBox1.Enabled=true;

comboBox2.Enabled=true;

comboBox3.Enabled=true;

comboBox4.Enabled=true;

flag=true;

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

textBox1.Enabled=true;

flag=false;

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

db1.Mycon.Open();

if(flag)

{

if(textBox1.Text.ToString()==""||textBox2.Text.ToString()==""||comboBox1.Text.ToString()==""||comboBox2.Text.ToString()==""||comboBox3.Text.ToString()==""||comboBox4.Text.ToString()=="")

{

MessageBox.Show("请输入完整信息","提示");

}

else

{

stringsql1="insertintoRoom(房间号,房间类型,房间楼层,额定人数,实际人数,备注)values('"+textBox1.Text.ToString()+"','"+comboBox1.Text.ToString()+"','"+comboBox2.Text.ToString()+"','"+Convert.ToInt32(comboBox3.Text)+"','"+Convert.ToInt32(comboBox4.Text)+"','"+textBox2.Text.ToString()+"')";

OleDbCommandcmd=newOleDbCommand(sql1,db1.Mycon);

cmd.ExecuteNonQuery();

}

}

else

{

stringsql2="deletefromRoomwhere房间号='"+textBox1.Text.ToString()+"'";

OleDbCommandcmd=newOleDbCommand(sql2,db1.Mycon);

cmd.ExecuteNonQuery();

}

OleDbDataAdapteradp=newOleDbDataAdapter("select*fromRoom",db1.Mycon);

DataSetds=newDataSet();

adp.Fill(ds,"Room");

dataGridView1.DataSource=ds.Tables["Room"];

db1.Mycon.Close();

textBox1.Clear();

textBox2.Clear();

comboBox1.Text="";

comboBox2.Text="";

comboBox3.Text="";

comboBox4.Text="";

textBox1.Enabled=false;

textBox2.Enabled=false;

comboBox1.Enabled=false;

comboBox2.Enabled=false;

comboBox3.Enabled=false;

comboBox4.Enabled=false;

}

privatevoidbutton4_Click(objectsender,EventArgse)

{

textBox3.Enabled=true;

}

privatevoidbutton5_Click(objectsender,EventArgse)

{

if(textBox3.Text.ToString()=="")

{

MessageBox.Show("请输入房间号","提示");

}

else

{

db1.Mycon.Open();

stringsql="select*fromRoomwhere房间号='"+textBox3.Text.ToString()+"'";

OleDbCommandcmd=newOleDbCommand(sql,db1.Mycon);

if(null!

=cmd.ExecuteScalar())

{

OleDbDataAdapteradp=newOleDbDataAdapter(sql,db1.Mycon);

DataSetds=newDataSet();

adp.Fill(ds,"Room");

dataGridView1.DataSource=ds.Tables["Room"];

textBox3.Clear();

textBox3.Enabled=false;

}

else

{

MessageBox.Show("没有此房间","提示");

}

db1.Mycon.Close();

}

}

privatevoidbutton6_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

客户入住

代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespace宾馆管理系统

{

publicpartialclassClientBookIn:

Form

{

publicClientBookIn()

{

InitializeComponent();

}

publicclassdbClass

{

publicOleDbConnectionMycon=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=db.mdb");

}

dbClassdb1=newdbClass();

privatevoidClientBookIn_Load(objectsender,EventArgse)

{

db1.Mycon.Open();

OleDbDataAdapteradp=newOleDbDataAdapter("select房间号fromRoomwhere额定人数>实际人数",db1.Mycon);

DataSetds=newDataSet();

adp.Fill(ds,"Room");

comboBox2.DisplayMember="房间号";

comboBox2.DataSource=ds.Tables["Room"];

//db1.Mycon.Close();

stringsql1="selectcount(*)fromClient";

OleDbCommandcmd=newOleDbCommand(sql1,db1.Mycon);

inti=(int)cmd.ExecuteScalar();

textBox1.Text=Convert.ToString(i+15);

db1.Mycon.Close();

textBox3.Clear();

textBox4.Clear();

comboBox1.Text="";

comboBox2.Text="";

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

textBox3.Clear();

textBox4.Clear();

comboBox1.Text="";

comboBox2.Text="";

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

if(textBox1.Text==""||textBox3.Text==""||comboBox1.Text==""||textBox4.Text=="")

{

MessageBox.Show("请输入完整信息","提示");

}

else

{

db1.Mycon.Open();

stringsql1="insertintoClient(客户ID,房间号,姓名,性别,籍贯,入住日期)values('"+textBox1.Text.ToString()+"','"+comboBox2.Text+"','"+textBox3.Text.ToString()+"','"+comboBox1.Text+"','"+textBox4.Text.ToString()+"','"+dateTimePicker1.Text+"')";

OleDbCommandcmd1=newOleDbCommand(sql1,db1.Mycon);

cmd1.ExecuteNonQuery();

stringsql2="updateRoomset实际人数=实际人数+1where房间号='"+comboBox2.Text+"'";

OleDbCommandcmd2=newOleDbCommand(sql2,db1.Mycon);

cmd2.ExecuteNonQuery();

MessageBox.Show("客户入住成功","提示");

db1.Mycon.Close();

button2.Enabled=false;

}

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

 

客户结算

代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespace宾馆管理系统

{

publicpartialclassClientCheck:

Form

{

publicClientCheck()

{

InitializeComponent();

}

publicclassdbClass

{

publicOleDbConnectionMycon=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=db.mdb");

}

dbClassdb1=newdbClass();

privatevoidClientCheck_Load(objectsender,EventArgse)

{

db1.Mycon.Open();

OleDbDataAdapteradp=newOleDbDataAdapter("select客户IDfromClient",db1.Mycon);

DataSetds=newDataSet();

adp.Fill(ds,"Client");

comboBox1.DisplayMember="客户ID";

comboBox1.DataSource=ds.Tables["Client"];

db1.Mycon.Close();

comboBox1.Text="";

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

db1.Mycon.Open();

stringsql1="select姓名,入住日期fromClientwhere客户ID='"+comboBox1.Text+"'";

OleDbCommandcmd=newOleDbCommand(sql1,db1.Mycon);

OleDbDataAdapteradp1=newOleDbDataAdapter(sql1,db1.Mycon);

DataSetds1=newDataSet();

adp1.Fill(ds1,"Client");

textBox2.Text=ds1.Tables["Client"].Rows[0][0].ToString();

textBox3.Text=ds1.Tables["Client"].Rows[0][1].ToString();

stringsql2="select价钱fromRoomTypewhereRoomType.类型名称=(select房间类型fromRoomwhere(select房间号from

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2