【文章內容簡介】
絡接口,以便在分布式環(huán)境中快速而有效地實現客戶服務器方案。Visual Basic 是專門為Microsoft的32位操作系統(tǒng)設計的,可用來建立32位的應用程序。在Windows9x、WindowsNT或Windows2000環(huán)境下,用Visual Basic 。這樣的應用程序在32位操作系統(tǒng)下運行,速度更快,更安全,并且更適合在多任務環(huán)境下運行。 Microsoft SQL與 ADO作為應用程序與OLE DB連接的橋梁,ActiveX Data Objects (ADO)為Visual Basic 下開發(fā)的應用程序訪問本地或遠程數據庫提供了有效的手段。Microsoft ActiveX Data Objects (ADO) 主要優(yōu)點是易于使用、高速度、低內存支出和占用磁盤空間較少。ADO 支持用于建立基于客戶端/服務器和 Web 的應用程序的主要功能。在VB中,可以使用開發(fā)環(huán)境提供的ADO控件,數據庫訪問方法,對ACCESS中建立的關系數據庫簡單快捷的進行訪問。 SQL查詢語言及使用SQL語言是結構化語言(Structure Query Language)的縮寫,是一種用于數據庫查詢和編程的語言,已經成為關系型數據庫普遍使用的標準,使用這種標準數據庫語言對程序設計和數據庫的維護都帶來了極大的方便,廣泛地應用于各種數據查詢。VB和其他的應用程序包括Access、Foxpro、Orcale、SQL Server等都支持SQL語言。SQL語言的常用操作有:建立數據庫數據表(CREATE TABLE),如本系統(tǒng)中的學生及成績備份就用到該語句;從數據庫中篩選一個記錄集(SELECT),這是最常用的一個語句,功能強大,能有效地對數據庫中一個或多個數據表中的數據進行訪問,并兼有排序、分組等功能;在數據表中添加一個記錄(INSERT);刪除符合條件的記錄(DELETE);更改符合條件的記錄(UPDATE); VB中的數據庫操作對象都提供了對SQL語句的支持。其一般的用法是以VB的各種控件接收用戶對數據庫訪問的請求,在事件響應程序代碼中將其轉換成對數據庫的SQL查詢語句,并以字符串的形式存在,然后將其傳遞給相應的數據庫操作對象,最終完成對數據庫的訪問。 功能模塊管理信息系統(tǒng)設計階段的主要目的是將系統(tǒng)分析階段所提出的反映了用戶信息需求的系統(tǒng)邏輯方案轉換成可以實施的基于計算機與通信系統(tǒng)的物理(技術)方案。具體要求對系統(tǒng)進行功能分解,不斷下去,直到分解成含義明確,功能單一的單元功能模塊,從而繪制出系統(tǒng)的功能模塊圖,即HIPO圖。此管理信息系統(tǒng)的HIPO圖如下小區(qū)物業(yè)管理系統(tǒng)系統(tǒng)維護統(tǒng)計報表物業(yè)管理基本資料錄入住戶停車位住戶繳費住戶報修投訴管理數據備份數據恢復報修報表投訴報表住戶資料停車場資料 物業(yè)管理主要模塊流程圖 投訴管理流程圖保存投訴信息(保存功能)生成投訴報表登記投訴信息 (增加功能)修改投訴信息(修改功能)終止投訴刪除投訴信息(刪除功能) 住戶報修管理流程圖登記維修信息(增加功能)修改報修信息(修改功能)刪除報修信息(刪除功能)確定維修繳納費用生成維修統(tǒng)計報表 住戶繳費管理流程圖登記繳費信息(增加功能)繳費情況出現變動修改繳費信息(修改功能)住戶遷離刪除住戶所有繳費信息(刪除功能)保存住戶繳費信息(保存功能) 住戶停車車位管理流程圖住戶申請登記車位(增加功能)繳納停車位費用車輛遷出車位信息變更刪除車位信息(刪除功能)修改車位信息(修改功能)保存住戶停車位資料(保存功能) 數據庫設計數據庫設計是要在一個給定的應用環(huán)境(DBMS)中,通過合理的邏輯設計和有效的物理設計,構造較優(yōu)的數據庫模式、子模式,建立數據庫和設計應用程序,滿足用戶的各種信息需求。 概念結構設計在數據庫設計中,先要對系統(tǒng)分析所得的數據字典中的數據存儲進行分析,然后得出系統(tǒng)的關系模式,可以采用實體——聯(lián)系圖(簡稱E——R圖)的方法進行數據結構的描述。E——R圖由實體、屬性、聯(lián)系三部分組成。E——R圖的有關符號說明如下:實體屬性聯(lián)系編號戶主名稱樓宇名稱遷入日期房屋號住戶信息實體實體間主要聯(lián)系如下:投訴信息n收費信息n記錄報修信息n記錄記錄111住戶信息1日期使用1車位信息 物理結構設計物理結構設計的原則如下:(1) 盡可能的減少數據冗余和重復。(2) 結構設計與操作設計相結合。(3) 數據結構具有相對的穩(wěn)定性?;谝陨显O計原則,本系統(tǒng)設計了一個數據庫,包含管理員、住戶信息、收費信息、車位使用信息、車位信息、報維信息、維護信息等幾個表。為了加快系統(tǒng)訪問的速度把這7個表放在一個數據庫中。本系統(tǒng)中相關數據庫表結構設計舉例如下:Ddmin(管理員)表:字段名稱字段類型寬度小數位ID自動編號UserName文本20Psw文本50BaseInfo(住戶信息)表:字段名稱字段類型寬度小數位住戶編號文本20戶主名稱文本20聯(lián)系電話文本20樓宇名稱文本50樓層文本20房屋號文本20單元文本20遷入日期日期/時間房型文本20備注備注DataMoney(收費信息)表:字段名稱字段類型寬度小數位編號自動編號單據編號文本20住戶名稱文本20繳費日期日期/時間20收費人員文本20繳費方式文本20繳費總額數字42備注備注Park(車位使用信息)表:字段名稱字段類型寬度小數位編號自動編號車位編號文本20住戶名稱文本20使用日期日期/時間備注備注ParkBase(車位信息)表:字段名稱字段類型寬度小數位編號自動編號車位編號文本20備注備注Repair(報修信息)表:字段名稱字段類型寬度小數位單據編號文本20住戶名稱文本20維修人員文本20報修日期日期/時間服務費用數字4物料費用數字4費用合計數字4報修內容備注TouShu(投訴信息)表:字段名稱字段類型寬度小數位投訴編號文本20投訴住戶文本20接待人員文本20投訴日期日期/時間投訴內容備注處理人員文本20處理情況備注第四章 系統(tǒng)編碼與實現 編碼原則1. 標識符命名 標識符應當直觀且可以拼讀,可望文知意,最好采用英文單詞或其組合,便于記憶和閱讀,切忌使用漢語拼音來命名。長名字能更好地表達含義。如系統(tǒng)中Form窗體的命名規(guī)則為:frm_main,frm_login;2. 運算符的優(yōu)先級 如果代碼行中的運算符比較多,應該用括號確定表達式的操作順序,避免使用默認的優(yōu)先級。 3. 不要編寫太復雜的復合表達式。 復合表達式使用在適當的場合可以使代碼更加簡潔,但不能因為這個簡潔而帶來理解的復雜 登錄模塊登錄界面登錄代碼:Private Sub Command1_Click() //新增按鈕單擊事件 //確定按鈕事件 If CheckLogin Then ,則隱去登錄窗體,顯示主界面 Else 基本資料管理住戶資料錄入本窗體,實現了對住戶基本信息的維護問題,包括新增、刪除、修改等基本的編輯操作。主要代碼如下:Private Sub Command1_Click() //新增按鈕單擊事件 intType = 1 //當前執(zhí)行新增操作 = True //使控件有效,可訪問 = True SetButton (False) //設定按鈕不可訪問 SetInputBox //清輸入框為空End SubPrivate Sub Command2_Click() //刪除按鈕單擊事件 DelBaseInfo //實現數據庫記錄刪除 Call ListBaseInfo(ListView1) //在ListView中顯示數據End SubPrivate Sub Command3_Click() intType = 2 //當前執(zhí)行修改操作 = True //使控件有效,可訪問 = True Call CSetButton(False) //設按鈕不可用End Sub 住戶投訴管理本窗體用于管理用戶的投訴信息,實現了對此類信息的新增、刪除、修改。 此窗體的實現代碼,與上一個窗體類似,故省略. 住戶報修管理本窗體用于管理住戶的報修情況,可實現用戶維修情況的增加,刪除之類信息,以下是實現增加功能的主要代碼:Private Function AddRepair() As Boolean Dim Ws As Workspace Dim Db As Database Dim Rs As Recordset Dim SQLs As String On Error Resume Next Set Ws = (0) Set Db = ( amp。 \) SQLs = Select * From Repair where 單據編號=39。 amp。 amp。 39。 Set Rs = (SQLs, dbOpenDynaset) If Then (單據編號) = (住戶名稱) = (維修人員) = (報修日期) = (服務費用) = (物料費用) = (費用合計) = (報修內容) = MsgBox 添加成功!, 64, 小區(qū)物業(yè)管理系統(tǒng) AddRepair = True Else 住戶繳費管理本窗體用于管理用戶的投訴信息,實現了對此類信息的增加、刪除2個主要功能,主要代碼如下:Private Function AddTouShu() As Boolean 39。添加繳費信息 Dim Ws As Workspace Dim Db As Database Dim Rs As Recordset Dim SQLs As String Set Ws = (0) Set Db = ( amp。 \) SQLs = Select * From DataMoney where 單據編號=39。 amp。 amp。 39。 Set Rs = (SQLs, dbOpenDynaset) If Then (單據編號) = (住戶名稱) = (繳費日期) = (收費人員) = (繳費方式) = (繳費總額) = (備注) = MsgBox 添加成功!, 64, 小區(qū)物業(yè)管理系統(tǒng) AddTouShu = True Else MsgBox 此編號已存在,請不重復!, 64, 小區(qū)物業(yè)管理系統(tǒng) AddTouShu = False End If Set Rs = Nothing Set Db = Nothing Set Ws = NothingEnd FunctionPublic Function DelTouShu() 39。刪除繳費信息 Dim Ws As Workspace Dim Db As Database Dim Rs As Recordset Dim SQLs As String Set Ws = (0) Set Db = ( amp。 \) SQLs = Select * From DataMoney where 單據編號=39。 amp。 amp。 39。 Set R