最近中文字幕2018免费版2019,久久国产劲暴∨内射新川,久久久午夜精品福利内容,日韩视频 中文字幕 视频一区

首頁 > 文章中心 > 正文

概論變換界面的酒店管理系統

前言:本站為你精心整理了概論變換界面的酒店管理系統范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

概論變換界面的酒店管理系統

一、樹形控件

1.樹形節點存儲

數據庫中新建Tree_Initialization(用于存儲樹形控件中節點信息)表,一共有4個字段,分別為Node_Name(String型)、Node_ID(Integer型)、Node_Location(String型)、Node_Level(Integer型),可分別對樹形節點進行新增、修改、查詢、刪除、統計等操作。下面就Tree_Initialization表中字段分別說明:Node_Name:String型,Node_Name表示含義為具體的房間名稱,組成由區-棟-房間號構成,一共有三種類型的Node_Name,如表1所示,例如#C只表示C區,#C-2只表示C區2棟,#C-2-002表示為C區2棟2號房間,在這里只顯示了#A區、#B區、#C區、#D區、#E區、#F區共6個片區,在程序中,實際上可以往下繼續新增區域、棟和房間號,區域個數限制10個,棟數個數限制為10個,房間號限制為100個。Node_ID:Integer型,Node_ID從數值1開始遞增,計算整個酒店的可用房間數量。Node_Location:String型,Node_Location表示節點的具體位置,一共有3種,分別為長度=2、長度=3、長度=6,長度為2的表示到區,長度為3的表示到棟,長度為6的表示到房間號,區、棟、房間號之間的邏輯關系通過字段Node_Location的String值來表示,如表1所示,例如Node_Name=”#C2-2-003”所對應的字段Node_Location=”132003”,前面兩位”13”表示具體的區,在表中對應找到”13”所表示的區為#C區,第三位數值”2”+前兩位”13”,對應的”132”在表中可以找到對應的區-棟,#C-2,最后三位003表示具體的房間號,+前三位”132”在表中可以找到對應的Node_Name=”#C2-2-003”。Node_Level:Integer型,Node_Level分為3層,第1層、第2層、第3層,第1層表示區,第2層表示棟,第3層表示房間號。

2.樹形節點變更

將Tree_Initialization表中Node_Name、Node_ID、Node_Location和Node_Level4個字段配合使用,就可以實現樹形節點的新增、刪除、重命名等操作,例如,在主界面左側樹形節點上#C-4上點擊新建房間號,連續點擊新增003,004房間號(這里假設#C-4棟下不存在003和004房間,因為按照程序設置,在具體的某區某棟下,房間號是唯一值,不能重復,但是#C-3棟和#C-4棟在程序中假定是不同的,即#C-3棟和#C-4棟下都可以存在001房間),Tree_Initialization表中變化如表2所示。表2Tree_Initialization更新表(部分節點)界面上點擊新增房間003,004按鈕,相當于在Tree_Initialization表中插入兩條新數據,“#C-4-003、32,134006,3”和“#C-4-004、33,134007,3”,并且將之前#D-1-001和#D-1-002的Node_ID分別+2,修改至34,35,當然這里插入和修改的數據,都通過算法進行判斷和計算,計算過程如下:

(1)從Tree_Initialization表中找出Node_Level=3的所有Node_Name值,sql.executeQuery("SELECTNode_Name-FROMTree_InitializationWHERENode_Level=3"),將所有Node_Name值與新建的房間號進行對比,以防重復插入房間號;

(2)從Tree_Initialization表中查找Node_Namelikenode.getUserObject()中Node_ID字段中的最大值,sql.execute-Query("SELECTmax(Node_ID)asnumFROMTree_Initializa-tionwhereNode_Namelike"+s_room);

(3)向Tree_Initialization表插入數據,"INSERTIN-TOTree_InitializationVALUES("+"''''"+t_floor+Node_Name+"''''"+","+"''''"+(max_number+1)+"''''"+","+"''''"+String_Node_Location_New+"''''"+","+"''''3''''"+")";其中變量t_floor+Node_Name和String_Node_Location_New在程序其它處通過手段獲取或者計算所得,在這里不詳細說明其獲取值的具體方法;

(4)修改Tree_Initialization表中其他房間號的Node_ID值,這里修改的是Node_ID值大于某個值X(在此處X=32)的房間號,將值++,"UPDATETree_Initializa-tionSETNode_ID=Node_ID+1whereN-ode_Name="+"''''"+String_Node_Name+"''''",程序中每當新增一個房間號時,Node_ID值都做一個自增加運算。以上描述的是在某區某棟下新增房間號的過程,其實新增某區或者在某區下新增某棟,其算法思想都如上所述,僅僅是某些字段值需要改變,在這里不再表述。同理,筆者在實現對某區、某棟、某房間號的重命名、刪除等節點操作時,其算法思想也如新增節點操作相似,目的就是保持Tree_Initialization表中各節點之間的邏輯關系。所有對樹形節點的變更操作均要由系統后臺管理員(系統分為前臺操作員和后臺管理員,這里可以限定前臺操作員的變更權限)來完成。

3.樹形節點讀入

在啟動系統過程中,從數據庫中讀入界面信息(這里僅僅寫出讀入樹形控件節點信息)的源代碼實現如下:publicstaticvoidcreateNodes(){try{//連接數據庫代碼,此處省略ResultSetrs=sql.executeQuery("SELECTNode_ID,Node_Name,Node_LocationFROMTree_InitializationorderbyNode_Locationasc");while(rs.next()){Strings=rs.getString("Node_Location");StringchildName=rs.getString("Node_Name");intnumber=rs.getInt("Node_ID");if(s.length()==1){node[number]=newDefaultMutableTreeNode(child-Name);}else{if(s.length()<=3){node[number]=newDefaultMutableTreeNode(childName);Stringparents=s.substring(0,s.length()-1);ResultSetrs1=sql1.executeQuery("SELECTNode_IDFROMTree_InitializationwhereNode_Location="+"''''"+par-ents+"''''");while(rs1.next()){intparentNumber=rs1.getInt("Node_ID");node[parentNumber].add(node[number]);}}else{node[number]=newDefaultMutableTreeNode(childName);Stringparents=s.substring(0,s.length()-3);ResultSetrs1=sql1.executeQuery("SELECTNode_IDFROMTree_InitializationwhereNode_Location="+"''''"+par-ents+"''''");while(rs1.next()){intparentNumber=rs1.getInt("Node_ID");node[parentNumber].add(node[number]);

二、總結

在開發酒店管理系統的過程中,筆者不但實現了系統界面樹形控件的變更,還將界面中的菜單控件,按鈕控件信息等都保存至數據庫中,通過系統管理員的操作,就可實現系統的界面更改。將系統界面信息保存至數據庫中,這樣對系統界面的維護就像對客戶信息維護那樣,在系統界面中,通過對數據庫增刪改查命令實現系統界面的維護,這樣一來也可使得系統界面在今后軟件的使用過程中處于一個動態管理維護的過程中,這是一個不錯的方法,并且也適用于其他的管理信息系統中。

作者:王柔徐鵬單位:南昌師范高等專科學校江西省科學技術情報研究所

主站蜘蛛池模板: 庐江县| 龙井市| 平远县| 无极县| 乐安县| 肥乡县| 芜湖县| 博罗县| 龙陵县| 张家港市| 仙游县| 南部县| 连南| 岢岚县| 潢川县| 安义县| 会同县| 娱乐| 满城县| 乌海市| 广宗县| 靖州| 昆明市| 大渡口区| 碌曲县| 黄龙县| 教育| 花莲县| 海门市| 当涂县| 永清县| 邮箱| 桃源县| 衡山县| 新蔡县| 广灵县| 新化县| 唐山市| 方城县| 长春市| 靖边县|