【正文】
End With End If =amp。刪除客房信息 添加客房信息 Trim((intCount,1))amp。Trim((intCount,1))amp。Trim(txtItem(0))amp。Trim(txtItem(1))amp。Trim(txtItem(0))amp。 添加函數(shù)ExecuteSQL,代碼如下:Public Function ExecuteSQL(ByValSQL As String,MsgString AsString)_ As ‘執(zhí)行SQL語句,并返回記錄集對(duì)象Dim n As Dim rst As Dim sTokens() As String‘異常處理On Error GoTo ExecuteSQL_Error’‘用Split函數(shù)產(chǎn)生一個(gè)包含各個(gè)子串的數(shù)組 sTokens=Split(SQL) Set n=NEW ‘打開連接 ConnectString If InStr(“INSERT,DELETE,UPDATE”,UCase$(sTokens(0))) Then SQL End sub‘添加全局變量,用來記錄各個(gè)窗口的讀寫狀態(tài),代碼如下:Public flagTedit As Boolean ‘ 標(biāo)示是否進(jìn)入修改的窗體Public flagRedit As BooleanPublic flagBedit As BooleanPublic flagCedit As BooleanPublic gintCmode As Integer Public gintTmode As Integer ’記錄是添加還是修改狀態(tài),1為添加,2為修改Public gintRmode As IntegerPublic gintBmode As Integer Public flagSedit As Boolean⑵系統(tǒng)用戶管理模塊的創(chuàng)建 用戶管理模塊主要實(shí)現(xiàn): 各個(gè)實(shí)體具體的描述ER圖如下:客房標(biāo)準(zhǔn)信息實(shí)體標(biāo)準(zhǔn)編號(hào)標(biāo)準(zhǔn)名稱床位數(shù)量客房單價(jià)客房標(biāo)準(zhǔn)信息實(shí)體ER圖客房信息實(shí)體客房標(biāo)準(zhǔn)客房編號(hào)客房位置客房單價(jià)客房信息實(shí)體ER圖訂房信息實(shí)體客房信息顧客信息折 扣入住時(shí)間訂房信息實(shí)體ER圖結(jié)算信息實(shí)體客房信息顧客信息結(jié)算時(shí)間結(jié)算金額結(jié)算信息實(shí)體ER圖客房標(biāo)準(zhǔn)信息客房登記客房信息管理訂 房訂房信息管理結(jié)算信息管理客房結(jié)算實(shí)體之間關(guān)系ER圖③數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 首先將賓館管理信息系統(tǒng)的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQL 2000數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,即:數(shù)據(jù)庫的邏輯結(jié)構(gòu)。● 結(jié)算信息,包括的數(shù)據(jù)項(xiàng)有:訂房編號(hào)、客房編號(hào)、客房種類、客房位置、客房備注信息、顧客姓名、顧客身份證號(hào)碼、入住時(shí)間、折扣、結(jié)算時(shí)間、備注等?!?客房信息,包括的數(shù)據(jù)項(xiàng)有:客房編號(hào)、客房種類、客房位置、客房單價(jià)、備注等?!?結(jié)算信息的修改和查詢,包括客房編號(hào)、客房種類、客房位置、客房單價(jià)、顧客姓名、顧客身份證號(hào)碼、入住日期、折扣、結(jié)日期、備注信息等。● 訂房信息的修改和查詢,包括客房編號(hào)、客房種類、客房位置、客房單價(jià)、顧客姓名、顧客身份證號(hào)碼、入住日期、折扣、備注信息等?!?剩余客房信息的查詢等。● 客房基本信息的輸入,包括客房編號(hào)、客房類型、客房位置、客房單價(jià)、備注等。主要完成功能:● 有關(guān)客房標(biāo)準(zhǔn)的制定、標(biāo)準(zhǔn)信息的輸入,包括標(biāo)準(zhǔn)編號(hào)、標(biāo)準(zhǔn)名稱、房間面積、床位數(shù)量、住房單價(jià)、是否有空調(diào)、電視機(jī)、電話以及單獨(dú)衛(wèi)生間等。賓館管理信息系統(tǒng)系統(tǒng)平臺(tái):Windows 2000數(shù)據(jù)庫服務(wù)器:Microsoft SQL Server 2000開發(fā)工具:Visual Basic 系統(tǒng)開發(fā)人員: ⒈編寫目的賓館在正常的運(yùn)營(yíng)中需要對(duì)客房資源、顧客信息、結(jié)算信息進(jìn)行管理,利用賓館管理信息系統(tǒng)及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,有利于提高管理效率。⒉系統(tǒng)功能分析 系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)賓館各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。● 客房標(biāo)準(zhǔn)信息的修改、查詢等?!?客房基本信息的查詢、修改,包括客房編號(hào)、客房類型、客房位置、客房單價(jià)、備注等?!?訂房信息的輸入,包括客房編號(hào)、客房種類、客房位置、客房單價(jià)、顧客姓名、顧客身份證號(hào)碼、入住日期、折扣、備注信息等?!?結(jié)算信息的輸入,包括客房編號(hào)、客房種類、位置、客房單價(jià)、顧客姓名、顧客身份證號(hào)碼、入住日期、折扣、結(jié)算日期、備注信息等。⒊系統(tǒng)功能模塊設(shè)計(jì) 按結(jié)構(gòu)化程序設(shè)計(jì)思想,分析得出如下系統(tǒng)功能模塊圖 賓館管理信息系統(tǒng)結(jié)算信息管理訂房信息管理客房信息管理系統(tǒng)管理結(jié)算信息查詢結(jié)算信息修改結(jié)算信息添加訂房信息查詢訂房信息修改訂房信息添加剩余客房信息查詢?cè)O(shè)置客房信息設(shè)置客房標(biāo)準(zhǔn)密碼管理用戶管理客房信息查詢客房信息修改客房信息添加客房標(biāo)準(zhǔn)修改客房標(biāo)準(zhǔn)添加 圖Ⅰ系統(tǒng)功能模塊圖⒋數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)步驟:● 數(shù)據(jù)庫需求分析● 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)● 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)①數(shù)據(jù)庫需求分析分析調(diào)查有關(guān)賓館管理信息需求的基礎(chǔ)上得本系統(tǒng)所處理的數(shù)據(jù)流程 客房標(biāo)準(zhǔn)設(shè)置基本信息輸入客房登記基本信息錄入客房信息管理顧客登記訂房信息管理訂房信息管理結(jié)算信息輸入結(jié)算信息管理客房信息返回圖Ⅱ 賓館管理信息系統(tǒng)數(shù)據(jù)流程圖 針對(duì)一般賓館管理信息系統(tǒng)的需求,通過對(duì)賓館管理過程的內(nèi)容和流程分析,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):● 客房標(biāo)準(zhǔn)信息,包括的數(shù)據(jù)項(xiàng)有:標(biāo)準(zhǔn)編號(hào)、標(biāo)準(zhǔn)名稱、房間面積、床位數(shù)量、住房單價(jià)、是否有空調(diào)、電視、電話、單獨(dú)衛(wèi)生間等?!?訂房信息,包括的數(shù)據(jù)項(xiàng)有:訂房編號(hào)、客房編號(hào)、客房種類、客房位置、客房備注信息、顧客姓名、顧客身份證號(hào)碼、入住時(shí)間、折扣、備注等。②數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)根據(jù)以上的設(shè)計(jì)規(guī)劃出的實(shí)體有:客房標(biāo)準(zhǔn)信息實(shí)體、客房信息實(shí)體、訂房信息實(shí)體、結(jié)算信息實(shí)體。其各個(gè)表格的設(shè)計(jì)結(jié)果如下列名數(shù)據(jù)類型可否為空說明TypeidVarcharNOT NULL標(biāo)準(zhǔn)編號(hào)TypenameVarcharNOT NULL標(biāo)準(zhǔn)名稱AreaNumericNULL房間面積BednumNumericNULL床位數(shù)量HairconditionVarcharNULL是否有空調(diào)HtelephoneVarcharNULL是否有電話HtelevisionVarcharNULL是否有電視HtoiletVarcharNULL是否有單獨(dú)衛(wèi)生間PriceNumericNULL單價(jià)Roomtype 客房標(biāo)準(zhǔn)信息表列名數(shù)據(jù)類型可否為空說明roomNOVarcharNOT NULL客房編號(hào)RoomtypeVarcharNOT NULL客房種類RoompositionVarcharNULL客房位置RoompriceNumericNULL單價(jià)PutupVarcharNOT NULL是否被預(yù)定RoommemoTextNULL備注Rooms 客房信息表列名數(shù)據(jù)類型可否為空說 明Bookno VarcharNOT NULL訂房編號(hào)CustomnameVarcharNOT NULL 顧客姓名CustomIDVarcharNOT NULL身份證號(hào)碼RoomnoVarcharNOT NULL客房編號(hào)IndateDatetimeNULL入住日期DiscountNumericNULL折扣InmenoTextNULL備注CheckdateDatetimeNULL結(jié)算日期AmountNumericNULL金額Bookin 訂房信息表⒌數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)利用SQL 2000數(shù)據(jù)庫系統(tǒng)中的查詢分析實(shí)現(xiàn)數(shù)據(jù)庫的邏輯結(jié)構(gòu),其表格如下:創(chuàng)建系統(tǒng)用戶表格 user_Info CREATE TABLE [dbo].[user_Info1]( [user_ID][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL, [user_PWD] [char] (10) COLLATE Chinese_PRC_CI_AS NULL, [user_Des] [char](10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] 創(chuàng)建客房標(biāo)準(zhǔn)信息表格 roomtype CREATE TABLE [dbo].[roomtype]( [typeid][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL, [typename][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL, [area][numeric](5,0) NULL, [bednum][numeric](2,0) NULL, [haircondition][char](2) COLLATE Chinese_PRC_CI_AS NULL, [htelephone][char](2) COLLATE Chinese_PRC_CI_AS NULL, [htelevision][char](2) COLLATE Chinese_PRC_CI_AS NULL, [htoilet][char](2) COLLATE Chinese_PRC_CI_AS NULL, [price][numeric](10,2)NULL ) ON [PRIMARY]創(chuàng)建客房信息表格 roomsCREATE TABLE [dbo].[rooms]( [roomNO][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL,⒍賓館管理信息系統(tǒng)具體程序?qū)崿F(xiàn)⑴創(chuàng)建公用模塊 添加公共數(shù)據(jù)操作函數(shù),用以執(zhí)行各種SQL語句。用戶登陸。添加用戶。修改用戶 具體客房標(biāo)準(zhǔn)添加代碼:Private Sub Form_Load() ‘載入窗體后,判斷所處狀態(tài) Dim intCount As Integer Dim MsgText As String Dim i As Integer If gintTmode=1 Then ‘判斷是否屬于添加狀態(tài)編號(hào)的記錄!”,vbOKOnly+vbExclamation,”警告” txtItem(0).SetFocus Exit Sub End If End If txtSQL=”select * from roomtype where typeid’”amp?!薄痑nd typename=’”amp?!薄? Set mrc=ExecuteSQL(txtSQL,MsgText) If =False Then MsgBox”已經(jīng)存在相同客房標(biāo)準(zhǔn)的記錄!”,vbOKOnly+vbExclamation,“警告” txtItem(1).Setfocus Exit Sub End If txtSQL=”delete from roomtype where typeid=’”amp?!薄薄畡h除已有記錄 Set mrc=ExecuteSQL(txtSQL,MsgText) txtSQL=”select *from roottype”‘添加新記錄 Set mrc=ExecuteSQL(txtSQL,MsgText) Loop End With End SubPrivate Sub msgList_MouseUp(Button As Integer,Shift As Integer,x As Single,y As Single)‘選擇記錄,然后單擊鼠標(biāo)右鍵,觸發(fā)MouseUp事件 If Button=2 And Shift=0 Then PopupMenu End IfEnd SubPrivate Sub menuModifyroomtype_Click() Dim intCount As Integer If flagTedit Then ‘判斷是否打開記錄窗體 If 1 Then fintTmode=2‘設(shè)置為修改狀態(tài) intCount=‘記下選擇記錄 =”select*from roomtype where typeid’”amp。”’” Else Call menuAddroomtype_Click End If