酒店管理系统课程设计报告Word文件下载.docx
- 文档编号:18714615
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:48
- 大小:1.29MB
酒店管理系统课程设计报告Word文件下载.docx
《酒店管理系统课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《酒店管理系统课程设计报告Word文件下载.docx(48页珍藏版)》请在冰豆网上搜索。
●客房資訊,包括的資料項目有:
客房編號、客房種類、客房位置、客房單價、備註等。
●訂房資訊,包括的資料項目有:
訂房編號、客房編號、客房種類、客房位置、客房備註資訊、顧客姓名、顧客身份證號碼、入住時間、折扣、備註等。
●結算資訊,包括的資料項目有:
訂房編號、客房編號、客房種類、客房位置、客房備註資訊、顧客姓名、顧客身份證號碼、入住時間、折扣、結算時間、備註等。
②資料庫概念結構設計
本系統根據以上的設計規劃出的實體有:
客房標準資訊實體、客房資訊實體、訂房資訊實體、結算資訊實體。
各個實體具體的描述E-R圖如下:
客房標準資訊實體E-R圖
客房資訊實體E-R圖
訂房資訊實體E-R圖
結算資訊實體E-R圖
實體之間關係E-R圖
③資料庫邏輯結構設計
首先將賓館管理資訊系統的資料庫概念結構轉化為SQL2000資料庫系統所支持的實際數據模型,即:
資料庫的邏輯結構。
其各個表格的設計結果如下
列名
數據類型
可否為空
說明
Typeid
Varchar
NOTNULL
標準編號
Typename
標準名稱
Area
Numeric
NULL
房間面積
Bednum
床位數量
Haircondition
是否有空調
Htelephone
是否有電話
Htelevision
是否有電視
Htoilet
是否有單獨衛生間
Price
單價
Roomtype客房標準資訊表
roomNO
客房編號
Roomtype
客房種類
Roomposition
客房位置
Roomprice
Putup
是否被預定
Roommemo
Text
備註
Rooms客房資訊表
說 明
Bookno
訂房編號
Customname
NOTNULL
顧客姓名
CustomID
身份證號碼
Roomno
Indate
Datetime
入住日期
Discount
折扣
Inmeno
Checkdate
結算日期
Amount
金額
Bookin訂房資訊表
⒌資料庫結構的實現
利用SQL2000資料庫系統中的查詢分析實現資料庫的邏輯結構,其表格如下:
創建系統用戶表格user_Info
CREATETABLE[dbo].[user_Info1](
[user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,
[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
創建客房標準資訊表格 roomtype
CREATETABLE[dbo].[roomtype](
[typeid][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[typename][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[area][numeric](5,0)NULL,
[bednum][numeric](2,0)NULL,
[haircondition][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[htelephone][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[htelevision][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[htoilet][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[price][numeric](10,2)NULL
創建客房資訊表格 rooms
CREATETABLE[dbo].[rooms](
[roomNO][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[roomtype][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[roomposition][char](20)COLLATEChinese_PRC_CI_ASNULL,
[roomprice][numeric](10,2)NULL,
[putup][char]
(2)COLLATEChinese_PRC_CI_ASNOTNULL,
[roommemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
創建訂房資訊表bookin
CREATETABLE[dbo].[bookin](
[bookno][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[customname][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[customID][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,
[roomno][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[indate][datetime]NULL,
[discount][numeric](2,0)NULL,
[inmemo][text]COLLATEChinese_PRC_CI_ASNULL,
[checkdate][datetime]NULL,
[ammount][numeric](10,2)NULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
⒍賓館管理資訊系統具體程式實現
⑴創建公用模組Module1.bas
添加公共數據操作函數,用以執行各種SQL語句。
添加函數ExecuteSQL,代碼如下:
PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)_AsADODB.Recordset
‘執行SQL語句,並返回記錄集對象
DimcnnAsADODB.Connection
DimrstAsADODB.Recordset
DimsTokens()AsString
‘異常處理
OnErrorGoToExecuteSQL_Error’
‘用Split函數產生一個包含各個子串的數組
sTokens=Split(SQL)
Setcnn=NEWADODB.Connection
‘打開連接
cnn.OpenConnectString
IfInStr(“INSERT,DELETE,UPDATE”,UCase$(sTokens(0)))Then
Cnn.ExecuteSQL
MsgString=sTokens(0)&
”querysuccessful”
Else
Setrst=NEWADODO.Recordset
rst.OpenTrim$(SQL),cnn,adOpenKeyset,adLockOptimistic
rst.MoveLast
getRecordCount
‘返回記錄集對象
SetExecuteSQL=rst
MsgString=”查詢到”&
rst.RecordCount&
”條記錄”
EndIf
ExecuteSQL_Exit:
Setrst=Nothing
Setcnn=Nothing
ExitFunction
ExecuteSQL_Error:
MsgString=”查詢錯誤:
”&
Err.Description
ResumeExecuteSQL_Exit
EndFunction
PublicSubEnterToTab(KeyascAsInteger)
‘判斷是否為回車鍵
IfKeyasc=13Then‘Keyasc用來保存當前按鍵
‘轉換成Tab鍵
SendKeys”{TAB}”
Endsub
‘添加全局變數,用來記錄各個窗口的讀寫狀態,代碼如下:
PublicflagTeditAsBoolean‘標示是否進入修改的窗體
PublicflagReditAsBoolean
PublicflagBeditAsBoolean
PublicflagCeditAsBoolean
PublicgintCmodeAsInteger
PublicgintTmodeAsInteger’記錄是添加還是修改狀態,1為添加,2為修改
PublicgintRmodeAsInteger
PublicgintBmodeAsInteger
PublicflagSeditAsBoolean
⑵系統用戶管理模組的創建
用戶管理模組主要實現:
·
用戶登陸。
添加用戶。
·
修改用戶
具體客房標準添加代碼:
PrivateSubForm_Load()‘載入窗體後,判斷所處狀態
DimintCountAsInteger
DimMsgTextAsString
DimiAsInteger
IfgintTmode=1Then‘判斷是否屬於添加狀態
Me.Caption=Me.Caption&
”添加”
Fori=0To3
Combo1(i).AddItem”否”
Combo1(i).AddItem”是”
Combo1(i).ListIndex=0
Nexti
ElseIfgintTmode=2Then‘判斷是否處於修改狀態
Setmrc=ExecuteSql(txtSQL,MsgText)
Ifmrc.EOF=falseThen
Withmrc
ForintCount=0To3
txtItem(intCount)=.Fields(intCount)
NextintCount
txtItem(4)=.Fileds(8)
Combo1(i).Additem”否”
Combo1(i).Additem”是”
EndWith
txtItem(0).Enabled=False
Me.Caption=Me.caption&
”修改”
EndIf
mblChang=False
EndSub
PrivateSubcmd_Click()’用戶輸入內容完畢後,單擊cmdSave按鈕觸發Click事件
DimsMegAsString
DimMsgTextAsString
ForintCount=0To4‘判斷是否輸入內容
IfTrim(txtItem(intCount)&
””)=””Then
SelectCaseintCount
Case0
sMeg=”標準編號”
Case1
sMeg=”標準名稱”
Case2
sMeg=”房間面積”
Case3
sMeg=”床位數量”
Case4
sMeg=”床位單價”
EndSelect
sMeg=sMeg&
”不能為空!
”
MsgBoxsMeg,vbOkOnly+vbExclamation,”警告”
txtItem(intCount).SetFocus
ExitSub
Endif
NextintCount‘判斷輸入內容是否為數字
ForintCount=2To4
IfNotIsNumeric(Trim(txtItem(intCount)))Then
”請輸入數字!
MsgBoxsMeg,vbOKOnly+vbExclamation,”警告”
txtItem(intCount).SeFocus
ExitSub
IfgintTmode=1Then‘判斷是否有相同ID記錄
txtSQL=”select*fromroomtypewheretypeid_=’”&
Trim(txtItem(0))&
”’”
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=FalseThen
MsgBox“已經存在此標準編號的記錄!
”,vbOKOnly+vbExclamation,”警告”
txtItem(0).SetFocus
EndIf
Mrc.Close
txtSQL=”select*fromroomtypewheretypeid<
>
’”&
”’andtypename=’”&
Trim(txtItem
(1))&
”’”
MsgBox”已經存在相同客房標準的記錄!
”,vbOKOnly+vbExclamation,“警告”
txtItem
(1).Setfocus
txtSQL=”deletefromroomtypewheretypeid=’”&
”’”‘刪除已有記錄
txtSQL=”select*fromroottype”‘添加新記錄
mrc.AddNew
mrc.Fields(intCount)=Trim(txtItem(intCount))
mrc.Fields(intCount+4)=Trim(Combo1(intCount))
mrc.Fields(8)=Trim(txtItem(4))
mrc.Update‘更新資料庫
mrc.Close
ifgintTmode=1Then‘判斷是否屬於添加狀態
MsgBox“添加紀錄成功!
”,vbOKOnly+vbExclamtion,“添加記錄”
ForintCount=0To4
txtItem(intCount)=””‘清除已經輸入的內容
Combo1(intCount).ListIndex=0
mblChange=False’判斷是否打開窗口
ifflagTeditThen
UnloadfrmRoomtype
frmRoomtype.txtSQL=“select*fromroomtype”
frmRoomtype.Show
UnloadMe
IfflagTeditThen
EndIf
frmRoomtype.txtSQL=”select*fromroomtype”
PrivateSubtxtItem_GotFocus(IndexAsInteger)’文本框獲得焦點時觸發該事件,即自動選中輸入的內容,便於修改
txtItem(Index).SelStart=0
txtItem(Index).SelLength=Len(txtItem(Index))
EndSub
PrivateSubcmdExit_Click()’單擊按鈕cmdExit取消添加資訊
IfmblChangeAndcmdSave.EnabledThen
IfMsgBox(“保存當前記錄的變化嗎?
”,vbOKCancel+vbExclamation,”警告”)=vbOKThen‘保存
CallcmdSave_Click
UnloadMe
PrivateSubtxtItem_KeyDown(IndexAsInteger,KeyCodeAsInteger,Shift_AsInteger)‘輸入完內容,單擊回車鍵將自動進入下一個文本框,觸發文本框的Keydown事件
EnterToTabKeyCode
⑶修改客房標準窗體的創建
PrivateSubFrom_Load()
ShowTitle
ShowData
flagTedit=True
PrivateSubShowTitle()‘調用showTitle函數,顯示表頭
DimiAsInteger
WithmsgList
.Cols=10
.TextMatrix(0,1)=”標準編號”
.TextMatrix(0,2)=”標準名稱”
.TextMatrix(0,3)=”房間面積”
.TextMatrix(0,4)=”床位數量”
.TextMatrix(0,5)=”是否有空調”
.TextMatrix(0,6)=”是否有電話”
.TextMatrix(0,7)=”是否有電視”
.TextMatrix(0,8)=”是否有衛生間”
.TextMatrix(0,9)=”房間單價”
.FixedRows=1‘固定表頭
Fori=0To9‘設置各列的對齊方式
.ColAlignment(i)=0
.FillStyle=flexFillRepeat‘表頭項居中
.Col=0
.Row=0
.RowSel=1
.ColSel=.Cols-1
.CellAlignment=4
.ColWidth(0)=300‘設置單元大小
.ColWidth
(1)=1000
.ColWidth
(2)=2000
.ColWidth(3)=2000
.ColWidth(4)=1000
.ColWidth(5)=1000
.ColWidth(6)=1000
.ColWidth(7)=1000
.ColWidth(8)=1000
.ColWidth(9)=1000
.Row=1
EndWith
PrivateSubShowData()‘調用showData函數,顯示記錄列表
Setmrc=ExecuteSQL(txtSQL,MsgText)‘根據需要設置SQL語句,顯示需要的記錄
WithmsgList
.Rows=1
DoWhileNotmrc.EOF
.Rows=Rows+1
Fori=1Tomrc.Fields.Count
SelectCas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店 管理 系统 课程设计 报告