版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(論文)</b></p><p><b> [摘要]</b></p><p> 物業(yè)管理系統(tǒng)是緊隨當(dāng)今時代發(fā)展的需要,目的在于實現(xiàn)不同的人員對物業(yè)系統(tǒng)的不同的需要,有利于社會的穩(wěn)定和順利發(fā)展。</p><p> 關(guān)鍵詞:小程序Applet;應(yīng)用程序Application;數(shù)據(jù)庫;
2、數(shù)據(jù)庫實現(xiàn);JDBC/ODBC橋;JDBC驅(qū)動程序</p><p> Materials industry manage system</p><p><b> ABSTRACT</b></p><p> Materials industry manage system is to follow current times demand
3、of development,it’s purpose is to achieve different management to materials industry for different person,and is helpful to stability ,successful development of society.</p><p><b> 一.本系統(tǒng)的意義</b>&
4、lt;/p><p> 新的世界已經(jīng)到來,在電子計算機(jī)技術(shù)發(fā)展日新月異的今天,計算機(jī)軟件的應(yīng)用早已深入到了各行各業(yè),并發(fā)揮著它們巨大的潛力。隨著企業(yè),房戶等一系列的改革,一切都在潮向社會化發(fā)展,管理體制也由過去的“全承包”向現(xiàn)在的“一體化,專門化”發(fā)展。為了人員的安全,社會的穩(wěn)定,國家的持續(xù)發(fā)展,物業(yè)管理在起著舉足輕重的作用。本物業(yè)管理系統(tǒng)提供對人員,住房,房產(chǎn)和收費(fèi)信息的管理。為了有效管理和社會人員的方便,系統(tǒng)為管
5、理員用戶和普通用戶提供了不同的功能。本系統(tǒng)具有一定的實用性。</p><p> 本物業(yè)管理系統(tǒng)是在服務(wù)器上先安裝Windows NT操作系統(tǒng),并在NT系統(tǒng)下安裝數(shù)據(jù)庫系統(tǒng)SQL Server 7.0和建立人員、住房、房產(chǎn)、收費(fèi)四個數(shù)據(jù)庫。然后在NT操作系統(tǒng)下用Java編寫不同的系統(tǒng)用戶界面,后用JDBC/ODBC橋?qū)崿F(xiàn)服務(wù)器上數(shù)據(jù)庫和前端界面的連接。連接成功后,將Java編寫的用戶界面移植到客戶端的Linux操
6、作系統(tǒng)下,并用這個界面試圖實現(xiàn)與服務(wù)器上NT系統(tǒng)下的數(shù)據(jù)庫SQL連接。以達(dá)到在不同的操作系統(tǒng)下可以互相調(diào)用的目的,實現(xiàn)Java的重要特性:可移植性。</p><p><b> 二.設(shè)計思想</b></p><p> 2.1 當(dāng)前數(shù)據(jù)庫實現(xiàn)中存在的問題:</p><p> 2.1.1 目前存在的問題----數(shù)據(jù)庫的實現(xiàn)面向單一應(yīng)用</
7、p><p> 在目前開發(fā)的一部分?jǐn)?shù)據(jù)庫應(yīng)用軟件中,程序員的主要任務(wù)是編寫高質(zhì)量的程序,對所使用的軟件及數(shù)據(jù)庫很少關(guān)注,這就面臨數(shù)據(jù)庫單一應(yīng)用的問題。</p><p> 2.1.2 數(shù)據(jù)庫設(shè)計中存在數(shù)據(jù)完整性問題</p><p> 數(shù)據(jù)庫應(yīng)用所提供的功能一般都比較安全,往往自成一個系統(tǒng)。但是當(dāng)數(shù)據(jù)庫不同后系統(tǒng)數(shù)據(jù)就會產(chǎn)生問題。</p><p&g
8、t; 2.2 工具軟件的介紹</p><p> 2.2.1 Java語言的介紹</p><p> Java是一個由SUN公司開發(fā)成功的新一代編程語言,它的最大特點(diǎn)就是:使用它可在各式各樣不同種機(jī)器,不同種操作平臺的網(wǎng)絡(luò)環(huán)境中開發(fā)軟件,即SUN公司所宣揚(yáng)的“一次編寫,到處運(yùn)行” 。</p><p> 在SUN公司的“Java白皮書”中對Java有如下的定義
9、:</p><p> Java: A simple, Object-oriented, distributed, robust, secure, architecture-neutral, portable, High-performance, multi-threaded, and dynamic language.(Java: 一種簡單的,面向?qū)ο蟮?,分布式的,健壯的,安全的,結(jié)構(gòu)中立的,可移植的
10、,高效性的,多線程和動態(tài)的語言)。</p><p> 這個定義充分地表現(xiàn)了Java語言的特點(diǎn)。</p><p><b> 簡單性</b></p><p> Java是一種簡單的語言。Java取消了其它的許多編程語言中十分繁瑣的和難以理解的內(nèi)容,例如C/C++中的指針,C++中類的多重繼承等。Java語言在外觀上讓大多數(shù)程序員都感到很熟悉,
11、這樣程序員不需要經(jīng)過長時間訓(xùn)練就能夠?qū)W會使用這種新型的程序開發(fā)工具。Java要求的基本解釋器約為40KB ,若加上基本的程序庫,約為215KB。由于Java程序很小,因此在小型機(jī)上Java程序也能夠很好地執(zhí)行。</p><p><b> 面向?qū)ο?lt;/b></p><p> Java是一種面向?qū)ο蟮恼Z言。這里的“對象”是指應(yīng)用程序的數(shù)據(jù)及其操作方法。Java程序的設(shè)
12、計思想不同于C語言基于過程的程序設(shè)計思想。設(shè)計面向?qū)ο蟮某绦蛐枰獙⒕幊讨攸c(diǎn)放在資料和接口上。</p><p><b> 3. 分布式特性</b></p><p> Java是一種分布式的語言。Java有一個很周全的程序庫,且很容易與HTTP和TCP/IP通信協(xié)議相配合。Java應(yīng)用程序能在網(wǎng)絡(luò)上開啟并連結(jié)使用對象,就如同透過URL鏈接使用一個本地文件系統(tǒng)。利用Ja
13、va來開發(fā)分布式的網(wǎng)絡(luò)程序是Java的一個重要應(yīng)用。</p><p><b> 健壯性</b></p><p> 用Java編寫的程序在多種情況下都能穩(wěn)定地執(zhí)行。Java與C/C++最大的不同點(diǎn)是在于Java有一個專門的指針模型,它的作用是排除內(nèi)存中的數(shù)據(jù)被覆蓋和毀損的可能性。</p><p><b> 安全性</b>
14、;</p><p> Java是一種安全的網(wǎng)絡(luò)編程語言。Java是被設(shè)計用于網(wǎng)絡(luò)及分布的環(huán)境中的,所以Java程序的安全性自然是非常重要的。Java擁有數(shù)個階層的互鎖保護(hù)措施,能有效地防止病毒的侵入和破壞行為的發(fā)生。</p><p><b> 結(jié)構(gòu)中立性</b></p><p> 眾所周知,網(wǎng)絡(luò)是由很多不同機(jī)型的計算機(jī)組合而成的。這些計算
15、機(jī)的CPU和操作系統(tǒng)體系結(jié)構(gòu)均有所不同。因此,要使一個應(yīng)用程序可以在每一種計算機(jī)上都能夠執(zhí)行是很難的。所幸的是,Java的編譯器能夠產(chǎn)生一種結(jié)構(gòu)中立的目標(biāo)文件格式,這使得編譯碼能夠在多數(shù)的處理器中執(zhí)行。</p><p><b> 可移植性</b></p><p> Java的源代碼和C/C++的源代碼一樣具有可移植性,而且Java的可移植性在相比之下還要更強(qiáng)一些。
16、只要有對應(yīng)系統(tǒng)的解釋器,Java程序就可以在所有的系統(tǒng)上執(zhí)行。Java的原始資料形式的大小是被指定的,例如Java之所以一直用“float”來表示一個32位字節(jié)的IEEE754的浮點(diǎn)運(yùn)算數(shù)字,正是因為絕大多數(shù)的CPU都有此共同特征。Java自帶的程序庫定義了一些可移植的程序接口,這使Java語言具備了很好的可移植性。</p><p><b> 解釋型語言</b></p>&l
17、t;p> Java的源程序首先由編譯器編譯成字節(jié)碼,之后再由解釋器解釋執(zhí)行。Java解釋器能直接在任何機(jī)器上執(zhí)行Java字節(jié)碼(Byte Codes),因此在進(jìn)行程序鏈接時節(jié)省了時間,這對于縮短程序的開發(fā)過程有極大的幫助。</p><p><b> 9. 高效性</b></p><p> Java字節(jié)碼能迅速地轉(zhuǎn)換成機(jī)器碼(Machine Code)。Ja
18、va的這種效能幾乎與C/C++沒有分別。用Java編制的Java小應(yīng)用程序可以取代部分CGI腳本(CGI Scripts)的功能,但是考到效率方面的問題,在大多數(shù)的情況下很多客戶端的基本操作還是由腳本語言來完成的。涉及到復(fù)雜算法的計算以及一些特別的效果,就可以由Applet或者ActiveX來完成。</p><p><b> 10. 多線程性</b></p><p>
19、; Java語言具有多個線程,這對于交互回應(yīng)能力和即時行為是有幫助的。</p><p><b> 11. 動態(tài)性</b></p><p> Java比C/C++語言更具有動態(tài)性,更能適應(yīng)時刻在變的環(huán)境。Java不會因程序庫的更新而重新編譯程序。</p><p> 2.2.2 JDK的環(huán)境工具:</p><p>
20、 JDK是Java Developer’s Kit 的簡稱,意即Java的開發(fā)工具,這是舊的稱呼,新的名稱是Java 2 SDK,Standard Edition,V1.3簡稱為J2SE。</p><p> 1. Javac-Java語言編譯器</p><p> Javac 是Java語言的編譯器,能夠把用戶由Java語言書中的程序編譯成字節(jié)代碼。</p><p&
21、gt; 2. java-Java語言解釋器</p><p> Java命令解釋執(zhí)行Java字節(jié)代碼。</p><p> 3. jdb-Java語言調(diào)試工具</p><p> jdb 命令用于調(diào)試Java語言編寫的程序。</p><p> 4. javah-C頭文件和源文件生成器</p><p> javah
22、命令從一個Java類中生成實現(xiàn)native方法所需的C頭文件和C源文件,用作Java語言與C語言之間的連接。</p><p> 5. javap-Java類文件反匯編器</p><p> javap對類文件進(jìn)行反匯編,用于分解類的組成單無,包括方法,構(gòu)造函數(shù)和變量等,也稱為Java類分解器。</p><p> 6. javadoc-Java API文檔生成器&
23、lt;/p><p> Javadoc從java源文件生成HTML格式的API文檔。</p><p> 7. Appletviewer-Java Applet小應(yīng)用程序</p><p> Appletviewer命令使用戶不通過www瀏覽器也可以運(yùn)行Java語言編制的Applet.</p><p> 2.2.3 JDK的使用</p&
24、gt;<p> 利用JDK編程,還需要一個文本編輯器,最簡單的是Windows系統(tǒng)解釋的記事本(NotePad)可以選擇Ultraedit 或Editplus等工具。</p><p><b> 1. 編寫源文件:</b></p><p> 源文件是一個利用Java語言編寫的文本文件,可以在任何文本編輯器中來撰寫或修改。</p><
25、;p> 2. 將源文件編譯成字節(jié)碼文件</p><p> 利用JDK中的Java編譯器——javac,可以將源文件編譯成Java虛擬機(jī)(JVM)能夠解析的字節(jié)碼文件。</p><p><b> 3. 運(yùn)行程序</b></p><p> 利用JDK中的Java解析器,將字節(jié)碼文件轉(zhuǎn)化為你的系統(tǒng)能夠理解的指令,加以執(zhí)行。</p&
26、gt;<p> 2.2.4 JDBC簡介</p><p> Java數(shù)據(jù)庫連接JDBC(Java DateBase Connectivity)與ODBC(Open DataBase Connectivity)開放式數(shù)據(jù)庫連接的概念和標(biāo)準(zhǔn)一樣,兩者都是為各種流行數(shù)據(jù)庫提供無縫連接技術(shù)的。</p><p> JDBC利用java.sql包及其接口,類和異常事件,通過JDB
27、C—ODBC橋可以對數(shù)據(jù)庫進(jìn)行操作,但數(shù)據(jù)庫本身沒有什么要求,不需要什么特別的命令,只需要同ODBC一樣在服務(wù)器中設(shè)置ODBC數(shù)據(jù)源。</p><p> 目前ODBC是存取關(guān)連式數(shù)據(jù)庫最常用的應(yīng)用程序接口,幾乎所有平臺都可適用,但Java不直接使用ODBC而執(zhí)意要使用JDBC的理由如下:</p><p> 1.ODBC是以C語言撰寫的接口,從Java調(diào)用C語言的源生代碼(native
28、code)會有一些安全,穩(wěn)定,移植等問題。</p><p> 2.從ODBC的C語言應(yīng)用程序接口所處的字符串常量與java的字符串常量轉(zhuǎn)換結(jié)果可能不符需要。</p><p> 3.ODBC不容易使用,即使簡單的查詢也得使用復(fù)雜的選項,不如JDBC易學(xué)易用。</p><p> 4.使用ODBC時必須每臺用戶端計算機(jī)都要安裝驅(qū)動程序和管理員,但JDBC在安裝J2S
29、DK時自動安裝完成,并可移植到所有網(wǎng)絡(luò)、計算機(jī)與大型主機(jī)的Java工作平臺。</p><p> 2.2.5 Microsoft SQL Server7.0</p><p> SQL Server 是一種客戶機(jī)/服務(wù)器關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),使用Transact_SQL(一種結(jié)構(gòu)化查詢語言——SQL——客戶機(jī)和 SQL Server之間發(fā)送請求。</p>&l
30、t;p> 客戶機(jī)/服務(wù)器體系結(jié)構(gòu)</p><p> SQL Server使用客戶面/服務(wù)器體系結(jié)構(gòu)把工作負(fù)責(zé)劃分成在服務(wù)器計算機(jī)上運(yùn)行的任務(wù)和在客戶面上運(yùn)行的任務(wù)。</p><p> 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)</p><p> RDBMS負(fù)責(zé)增強(qiáng)數(shù)據(jù)庫的結(jié)構(gòu),包括:</p><p> <1>維護(hù)數(shù)據(jù)庫中數(shù)據(jù)之間的關(guān)系。
31、</p><p> <2>保證數(shù)據(jù)被正確存放,不違背定義數(shù)據(jù)之間的關(guān)系的規(guī)則。</p><p> <3>在系統(tǒng)故障的情況下,恢復(fù)所有數(shù)據(jù)到已知的一致點(diǎn)。</p><p> Transact-SQL</p><p> SQL Server使用Transact-SQL作為它的數(shù)據(jù)庫查詢和語言。Transact-SQ
32、L支持在1992年發(fā)布的最新ANSI SQL 標(biāo)準(zhǔn),叫做ANSI SQL92,并增加了許多擴(kuò)展來提供更多的功能。</p><p> 2.3 物業(yè)管理系統(tǒng)軟件技術(shù)基礎(chǔ)</p><p> 軟件體系結(jié)構(gòu)在軟件系統(tǒng)中扮演一個非常重要的角色,它為系統(tǒng)的邏輯功能劃分提供了一個依據(jù),是快速,準(zhǔn)確,高質(zhì)量進(jìn)行系統(tǒng)開發(fā)的基礎(chǔ),主要有兩種體系結(jié)構(gòu)。</p><p> 本系統(tǒng)采用兩
33、層結(jié)構(gòu):將處理分兩個部分,主要的事務(wù)處理邏輯運(yùn)行于客戶端,如向服務(wù)器端的數(shù)據(jù)庫發(fā)送SQL請求。由于大量的應(yīng)用運(yùn)行客戶端,所以又稱胖客戶機(jī)。</p><p> 系統(tǒng)開發(fā)語言采用Java語言,數(shù)據(jù)庫采用Microsoft SQL Server7.0。</p><p> SQL Server7.0是一種比較簡單、普通的網(wǎng)絡(luò)數(shù)據(jù)庫。其操作系統(tǒng)環(huán)境也較普通——NT 4.0 Server 或NT2
34、000。</p><p> Java編程環(huán)境。開發(fā)Java程序的工具有很多,Java Development Kit(Jdk)、Java Workshop(JWS)、Forte for Java(FFJ)。最新的Jdk版本是Jdk1.3。JavaSoft推薦用Jdk開發(fā)Java程序。JWS、FFJ都是運(yùn)行在Jdk基礎(chǔ)上的。JWS是sun公司早期的產(chǎn)品,其可用性比最近開發(fā)的FFJ差了許多。FFJ是可視化的編程工具
35、,比之Jdk下的Dos編程更方便使用。故選擇運(yùn)行在Jdk基礎(chǔ)上的FFJ。其操作系統(tǒng)環(huán)境為WinNT 4.0、WinNT 2000或Linux 6.2以上。最新的Forte for Java 是Forte for Java release 2.0,其Jdk版本是Jdk1.3.所以Java編程環(huán)境選擇為運(yùn)行在Jdk1.3上的Forte for Java release 2.0。FFJ操作系統(tǒng)環(huán)境用NT2000和Linux 7.0。</
36、p><p> 2.4物業(yè)管理系統(tǒng)的硬件基礎(chǔ)</p><p> Forte for Java release 2.0硬件最低需求是350MHz Pentium II, 128 MB RAM 50 MB 硬盤空間。FFJ對硬件的要求很高,給編程帶來一定的實際困難。以下是我的硬件環(huán)境:</p><p><b> 服務(wù)器</b></p>
37、<p> ·Operate System——Microsoft Windows NT Server4.0</p><p> ·CPU——x86 Family 6 Model 8</p><p> ·RAM——130,420 KB</p><p> ·Hard Disk——21GB</p>&l
38、t;p> ·Display——PHILIPS 105G</p><p><b> 客戶機(jī)</b></p><p> ·Operate System——Linux 7.0</p><p> ·CPU——P II 400 MHz</p><p> ·RAM——128 M
39、B</p><p> ·Hard Disk——10GB</p><p> ·Display——SyncMaster 550s</p><p><b> 2.5 系統(tǒng)介紹</b></p><p> 2.5.1 網(wǎng)絡(luò)結(jié)構(gòu)簡介</p><p> 本物業(yè)管理系統(tǒng)的網(wǎng)絡(luò)體系實現(xiàn)
40、是在服務(wù)器上先安裝windows NT操作系統(tǒng),并在NT系統(tǒng)下安裝數(shù)據(jù)庫系統(tǒng)SQL Server 7.0和建立人員、住房、房產(chǎn)、收費(fèi)四個數(shù)據(jù)庫。然后在服務(wù)器的NT操作系統(tǒng)下用Java編寫不同的系統(tǒng)用戶界面,用JDBC/ODBC橋?qū)崿F(xiàn)服務(wù)器端的數(shù)據(jù)庫和前端界面的連接。連接成功后,將Java編寫的用戶界面移植到客戶端的Linux操作系統(tǒng)下,并用這個界面試圖實現(xiàn)與服務(wù)器端NT操作系統(tǒng)下的數(shù)據(jù)庫SQL連接。以達(dá)到在不同的操作系統(tǒng)下可以互相調(diào)用的
41、目的,實現(xiàn)Java的重要特性:可移植性。</p><p> 網(wǎng)絡(luò)體系結(jié)構(gòu)圖如下所示:</p><p> 客戶端 服務(wù)器</p><p> 2.5.2 服務(wù)器系統(tǒng)功能模塊</p><p> 基于Java的跨平臺網(wǎng)絡(luò)數(shù)據(jù)庫由后勤小區(qū)物業(yè)管理系來具體實現(xiàn)。后勤小區(qū)物業(yè)管理系統(tǒng)有兩個模塊
42、——普通用戶查詢系統(tǒng)模塊和管理員用戶管理系統(tǒng)模塊。普通用戶查詢系統(tǒng)是普通用戶對數(shù)據(jù)庫進(jìn)行查詢的模塊,不支持?jǐn)?shù)據(jù)庫的管理。而管理員管理系統(tǒng)是數(shù)據(jù)庫管理員對數(shù)據(jù)庫進(jìn)行管理的模塊,需要密碼驗證才可進(jìn)入。普通用戶查詢系統(tǒng)模塊和管理員用戶管理系統(tǒng)模塊下又有四個模塊——人員信息模塊,住房信息模塊,收費(fèi)信息模塊,房產(chǎn)信息模塊。管理員可以對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行添加,修改,刪除和查詢</p><p> 以下是后勤小區(qū)管理系統(tǒng)的功能模
43、塊圖</p><p> 其中,人員信息管理模塊的下一級模塊和其它三個模塊的下一級模塊一樣, 這里只畫了一個。</p><p> 系統(tǒng)的前端開發(fā)語言采用Java語言,后端數(shù)據(jù)庫采用MSSQL Server7.0.</p><p> 2.5.1 服務(wù)器前端簡介</p><p> 系統(tǒng)主要針對普通用戶和管理員用戶兩種類型,可以由主界面選擇進(jìn)
44、入普通用戶界面還是管理員界面如選擇進(jìn)入管理員界面,需通過域名驗證和密碼驗證才可以。普通用戶只具有對后端數(shù)據(jù)庫的查詢功能,而管理員用戶同時具有對后端數(shù)據(jù)庫的修改和查詢功能,其中修改包括添加,更新,刪除功能。</p><p> 2.5.2 服務(wù)器后端數(shù)據(jù)庫簡介</p><p> 系統(tǒng)主要建立了renyuan, zhufang, shoufei, fangchan 四個數(shù)據(jù)庫,是通過在hou
45、qin數(shù)據(jù)庫下建立renyuan,zhufang,shoufei, fangchan四個表(Tables)得到的。數(shù)據(jù)庫的擁有者可以直接從SQL Server對數(shù)據(jù)庫進(jìn)行添加,刪除,更新,查詢和設(shè)置表的結(jié)構(gòu)等功能。而系統(tǒng)管理員只可以從前端對數(shù)據(jù)庫進(jìn)行添加,刪除,更新和查詢功能,不能改變數(shù)據(jù)庫的結(jié)構(gòu)等,普通用戶則只具有對數(shù)據(jù)庫的查詢功能。</p><p> 2.5.3 系統(tǒng)查詢結(jié)構(gòu)圖</p><
46、;p><b> 三、設(shè)計過程</b></p><p> 首先,用戶看到的是系統(tǒng)的主界面(JFraml),即系統(tǒng)的進(jìn)入界面,主要有三個按鈕控件組成。如果你是普通用戶,則選擇普通用戶進(jìn)入系統(tǒng)按鈕,如果你是系統(tǒng)管理員用戶,則選擇管理員進(jìn)入系統(tǒng)按鈕。系統(tǒng)管理員用戶進(jìn)入管理系統(tǒng),必須通過域名和密碼的驗證,否則不能進(jìn)入管理系統(tǒng)。</p><p> 普通用戶進(jìn)入系統(tǒng)按鈕
47、的代碼如下:</p><p> private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> zc.face.userInterface2 jf3=new zc.face.userInterface2();</p><p> jf3.setVisible(true
48、);</p><p> setVisible(false);</p><p><b> }</b></p><p> 管理員用戶進(jìn)入系統(tǒng)按鈕的代碼與普通用戶進(jìn)入系統(tǒng)按鈕大代碼相似。</p><p> 如果現(xiàn)在你想退出系統(tǒng),則可以選擇推出系統(tǒng)按鈕,將會彈出確認(rèn)對話框,詢問你是否決定退出系統(tǒng)(Are you sure
49、 to quit?).如果選擇確定按鈕,將會退出本系統(tǒng)。如果你現(xiàn)在又不想退出本系統(tǒng),則選擇取消按鈕。</p><p> 退出系統(tǒng)按鈕的代碼如下:</p><p> private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> javax.swing.JFrame
50、f=new javax.swing.JFrame("ConfirmDialog"); </p><p> int returnValue=javax.swing.JOptionPane.CANCEL_OPTION;</p><p> returnValue=javax.swing.JOptionPane.showConfirmDialog(f,"A
51、re you sure to quit?","ask",javax.swing.JOptionPane.OK_CANCEL_OPTION);</p><p> if(returnValue==javax.swing.JOptionPane.OK_OPTION){</p><p> System.exit(0); </p><p>&
52、lt;b> }</b></p><p><b> else </b></p><p> f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); </p><p><b> }</b></p><p>
53、 3.1 普通用戶系統(tǒng)</p><p> 用戶選擇進(jìn)入普通用戶系統(tǒng),系統(tǒng)彈出普通用戶界面(userInterface)。</p><p> userInterface界面上有各類待查詢信息,在界面的上方有主菜單,分六部分:人員信息、住房信息、收費(fèi)信息、房產(chǎn)信息、幫助、返回。</p><p> 在人員信息中有兩種:</p><p>
54、 sql查詢 </p><p><b> 填充查詢</b></p><p> sql查詢代碼如下: </p><p> private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> String inp
55、ut=null;</p><p> javax.swing.JFrame f=new javax.swing.JFrame();</p><p> input=javax.swing.JOptionPane.showInputDialog(f,"請輸入sql敘述如select*from renyuan","Input",javax.swing.J
56、OptionPane.QUESTION_MESSAGE);</p><p> System.out.println("數(shù)據(jù)查詢.........");</p><p> if((input!=null)&&(input.length()!=0)){</p><p> System.out.println(input);<
57、;/p><p><b> //進(jìn)行數(shù)據(jù)庫查詢</b></p><p><b> try{</b></p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b> }</b><
58、/p><p> catch(ClassNotFoundException ce){</p><p> System.out.println("SQLException:"+ce.getMessage());</p><p><b> }</b></p><p><b> try{<
59、/b></p><p> Connection con=DriverManager.getConnection("jdbc:odbc:houqin");</p><p> Statement stmt=con.createStatement();</p><p> ResultSet rs=stmt.executeQuery(inpu
60、t);</p><p> System.out.println(zc.face.MySqlUnit.printMetaData(rs));</p><p> System.out.println(zc.face.MySqlUnit.printResultSet(rs));</p><p> stmt.close();</p><p>
61、 con.close();</p><p><b> }</b></p><p> catch(SQLException e){</p><p> System.out.println("SQLException:"+e.getMessage());</p><p><b> }&l
62、t;/b></p><p> catch(IOException e2){</p><p> System.out.println("IOException:"+e2.getMessage());</p><p><b> }</b></p><p><b> }</b&
63、gt;</p><p><b> else </b></p><p> System.out.println("輸入正確的查詢語句.");</p><p><b> }</b></p><p> 在填充查詢中又分三種:</p><p><b&
64、gt; 按姓名 </b></p><p><b> 按門牌號 </b></p><p><b> 按工作單位</b></p><p> 按姓名查詢代碼如下:</p><p> private void jMenuItem1ActionPerformed(java.awt
65、.event.ActionEvent evt) {</p><p> zc.face.renyuan1 jf=new zc.face.renyuan1( );</p><p> jf.setVisible(true);</p><p> setVisible(false);</p><p><b> }</b>&
66、lt;/p><p> 按門牌號和工作單位查詢代碼與按姓名查詢代碼相似。</p><p> 住房信息的菜單結(jié)構(gòu)與人員信息大菜單結(jié)構(gòu)相似,其查詢代碼也相似。</p><p> 在收費(fèi)信息和房產(chǎn)信息中有兩種:</p><p><b> sql查詢</b></p><p><b> 填充查
67、詢</b></p><p> 其查詢代碼與人員信息查詢代碼相似:</p><p> 如果用戶想查詢?nèi)藛T方面的信息,可以通過點(diǎn)擊主菜單中的“人員信息”選項實現(xiàn)。</p><p> 如果用戶想查詢某個人的具體信息,用戶對數(shù)據(jù)庫查詢語句又比較熟悉,用戶可以選擇人員信息菜單下的“sql查詢” 。在彈出的對話框中輸入Select查詢語句點(diǎn)擊“確定”按鈕進(jìn)行杳
68、詢。</p><p> 如果用戶想查詢某個人的具體信息,用戶對數(shù)據(jù)庫又不熟悉,則可以選擇人員信息菜單下的“填充查詢” 。</p><p> 如果用戶只知道所要查詢?nèi)说男彰?,則可以點(diǎn)擊“按姓名查詢”。用戶可以在彈出的人員信息查詢界面1(renyuan1.java)的文本框中輸入查詢?nèi)诵彰?,點(diǎn)擊“查詢”按鈕進(jìn)行查詢。如果用戶想繼續(xù)查詢其他人員信息,則可以點(diǎn)擊“繼續(xù)查詢”按鈕繼續(xù)進(jìn)行查詢。如
69、果用戶現(xiàn)在不想查詢,則可以點(diǎn)擊“取消”按鈕,將會返回到普通用戶界面。</p><p> 查詢按鈕的代碼如下: </p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {</p><p><b> try{</b></p>
70、<p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b> }</b></p><p> catch(ClassNotFoundException ce){</p><p> System.out.println("SQLExc
71、eption:"+ce.getMessage());</p><p><b> }</b></p><p><b> try</b></p><p><b> {</b></p><p> if(!jTextField4.getText( ).equals(&
72、quot; "))</p><p><b> { </b></p><p> Connection con=DriverManager.getConnection("jdbc:odbc:houqin");</p><p> System.out.println("鏈接成功");<
73、/p><p> System.out.println("sql查詢:");</p><p> String query="select * from renyuan"+ " where 姓名='"+jTextField4.getText( )+"'";</p><p>
74、 System.out.println(query);</p><p> Statement stmt=con.createStatement();</p><p> ResultSet rs=stmt.executeQuery(query);</p><p> System.out.println(zc.face.MySqlUnit.printResult
75、Set(rs));</p><p> stmt.close();</p><p> con.close();</p><p><b> }</b></p><p><b> else </b></p><p> System.out.println("請輸
76、入正確的姓名后按查詢按鈕");</p><p><b> }</b></p><p> catch(SQLException e){</p><p> System.out.println("SQLException:"+e.getMessage());</p><p><b&g
77、t; }</b></p><p> catch(IOException e2){</p><p> System.out.println("IOException:"+e2.getMessage());</p><p><b> }</b></p><p><b> }
78、</b></p><p> 繼續(xù)查詢按鈕的代碼如下:</p><p> private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> jTextField4.setText(" ");:</p><p>&l
79、t;b> }</b></p><p> 取消按鈕的代碼如下:</p><p> private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> zc.face.userInterface2 jf1=new zc.face.userInterfa
80、ce2();</p><p> jf1.setVisible(true);</p><p> setVisible(false);</p><p><b> }</b></p><p> 如果用戶只知道所要查詢?nèi)说拈T牌號,就可以點(diǎn)擊“按門牌號查詢”,用戶可以在彈出的人員信息查詢界面2(renyuan2.java)
81、的文本框中輸入門牌號信息點(diǎn)擊“查詢”按鈕進(jìn)行查詢.</p><p> 如果用戶只知道所要查詢?nèi)说墓ぷ鲉挝唬涂梢渣c(diǎn)擊“按工作單位查詢”,用戶可以在彈出的人員信息界面3(renyuan3.java)的文本框中輸入工作單位信息點(diǎn)擊“查詢”按鈕進(jìn)行查詢。</p><p> 當(dāng)用戶想查詢住房方面的信息,可以通過點(diǎn)擊主菜單的“住房信息”選項實現(xiàn)。用戶可根據(jù)自身情況選擇“sql查詢”還是“填充查詢
82、”。如果選擇“填充查詢”,用戶則要根據(jù)自已所知道的住房信息內(nèi)容,進(jìn)行按姓名,按門牌號,還是按工作來源查詢來進(jìn)行選擇。其查詢代碼與人員信息菜單下的菜單項查詢代碼相似。</p><p> 當(dāng)用戶想查詢收費(fèi)方面的信息,可以通過點(diǎn)擊主菜單中的“收費(fèi)信息”選項實現(xiàn)。用戶可根據(jù)自身情況選擇“sql查詢”還是“填充查詢”。如果選擇“填充查詢”,用戶可以在彈出的收費(fèi)信息查詢界面(shoufei.java)的文本框中輸入所要查詢
83、的收費(fèi)信息住房的門牌號點(diǎn)擊“查詢”按鈕進(jìn)行查詢。點(diǎn)擊“繼續(xù)查詢”按鈕在文本框內(nèi)重新輸入其它門牌號信息,點(diǎn)擊“查詢”按鈕進(jìn)行查詢。其查詢代碼與主菜單中的“人員信息”菜單下的菜單項的查詢代碼相似。</p><p> 如果用戶想查詢房戶方面的信息,可以通過點(diǎn)擊主菜單中的“房產(chǎn)信息”選項實現(xiàn).用戶可根據(jù)自身情況決定選擇“sql查詢”還是“填充查詢”。如果選擇“sql查詢”,用戶可以在彈出的對話框直接輸入Select查詢
84、語句,點(diǎn)擊“確定”按鈕進(jìn)行查詢。如果選擇“填充查詢”,用戶可以在彈出的房產(chǎn)信息查詢界面(fangchan.java)的文本框中輸入所要查詢房產(chǎn)的樓號信息點(diǎn)擊“查詢”按鈕進(jìn)行查詢。點(diǎn)擊“繼續(xù)查詢”按鈕在文本框內(nèi)重新輸入其它樓號信息,點(diǎn)擊“查詢”按鈕進(jìn)行查詢。其查詢代碼與主菜單中的“人員信息”菜單下的菜單項的查詢代碼相似。</p><p> 如果用戶想了解關(guān)于普通用戶系統(tǒng)的信息,則可以點(diǎn)擊主菜單中的“幫助”菜單下的
85、“幫助”菜單項,將會在文本區(qū)內(nèi)顯示幫助信息。</p><p> “幫助”菜單項的代碼如下:</p><p> private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt){</p><p> String s 歡迎進(jìn)入用戶系統(tǒng)
86、 \n"+</p><p> " 用戶在這里可以得到關(guān)于人員,住房,收費(fèi)和房產(chǎn)方面的信息,\n"+</p><p> "系統(tǒng)功能使用說明如下:\n"+</p><p> " 1。用戶可以使用sql查詢和填充查詢兩種查詢方式,可從菜\n"+</p>
87、<p> "單進(jìn)行選擇。\n"+</p><p> " 2。sql查詢是直接在對話框內(nèi)輸入select查詢語句按確定按\n"+</p><p> "鈕進(jìn)行查詢,適合于對數(shù)據(jù)庫查詢語句熟悉的用戶。\n"+</p><p> " 3。填充查詢是根據(jù)用戶從菜單所選中項的
88、要求和提示在文本框\n"+</p><p> "內(nèi)輸入用戶所知信息按查詢按鈕進(jìn)行查詢,適合于一般的查詢用戶。\n"+</p><p> " 4。查詢結(jié)果在輸出框內(nèi)顯示。\n"+</p><p> " 5。用戶可通過幫助菜單的幫助項得到關(guān)于系統(tǒng)使用的說明。\n";</p&
89、gt;<p> jTextArea1.setText(s);</p><p><b> }</b></p><p> 如果用戶想離開普通用戶界面,則可以點(diǎn)擊主菜單中的“返回”菜單下的“返回”菜單項。</p><p> “返回”菜單項的代碼如下:</p><p> private void jMen
90、uItem4ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> zc.JFrame1 jf1=new zc.JFrame1();</p><p> jf1.setVisible(true);</p><p> setVisible(false);</p><p><
91、b> }</b></p><p><b> 3.2 管理員系統(tǒng)</b></p><p> 系統(tǒng)管理員用戶選擇管理員進(jìn)入系統(tǒng)按鈕,將會彈出管理員用戶域名和密碼驗證界面(JFrame2)。在驗證界面中,根據(jù)提示在文本框中輸入管理員用戶域名和進(jìn)入密碼,點(diǎn)“OK”按鈕。如果域名和密碼正確,管理員用戶則可進(jìn)入管理系統(tǒng)界面。如果域名和密碼有一項不正確,管理
92、員用戶也不能進(jìn)入管理系統(tǒng),而且系統(tǒng)也會根據(jù)域名和密碼的錯誤情況出現(xiàn)不同的對話框給予提示。如果域名不正確,而密碼正確點(diǎn)擊“OK”按鈕將彈出對話框1并顯示:Wrong Administrator name!! 信息,點(diǎn)擊“確定”按鈕將會返回到JFrame2界面,要求重新輸入域名;如果域名正確而密碼不正確,點(diǎn)擊“OK”按鈕將彈出對話框2并顯示:Wrong Administrator Password!! 信息,點(diǎn)擊“確定”按鈕將會返回到JFr
93、ame2界面,要求重新輸入密碼;如果域名和密碼都不正確,點(diǎn)擊“OK”按鈕將彈出對話框3并顯示:Wrong Administrator name and Wrong Administrator passward!! 信息,點(diǎn)擊“確定”按鈕將會返回到JFrame2界面。</p><p> 如果管理員用戶不想進(jìn)入管理系統(tǒng),則可以點(diǎn)擊JFrame2界面上的“Cancel”按鈕,將會返回到開始界面(JFrame1)。&l
94、t;/p><p> “OK”按鈕的代碼如下:</p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> confirmPassword();</p><p><b> }</b></p>
95、<p> public void confirmPassword(){</p><p> String s1="",s2="",s="htf",password="270098";</p><p> s1=jTextField1.getText();</p><p>
96、 s2=jPasswordField2.getText();</p><p> if(!(s1.equals(s))&&(!(s2.equals(password)))){</p><p> //用戶名和密碼都不正確</p><p> javax.swing.JFrame f=new javax.swing.JFrame("Mess
97、ageDialog"); </p><p> javax.swing.JOptionPane.showMessageDialog(f,"Wrong Administrator name and Wrong Administrator Password!!","ConfirmMessage",javax.swing.JOptionPane.ERROR_ME
98、SSAGE);</p><p> int returnValue=0;</p><p> if(returnValue==javax.swing.JOptionPane.OK_OPTION)</p><p> f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); </p>&l
99、t;p><b> }</b></p><p> else if(!(s1.equals(s))){</p><p> //用戶名不正確; </p><p> javax.swing.JFrame f=new javax.swing.JFrame("MessageDialog"); </p>
100、<p> javax.swing.JOptionPane.showMessageDialog(f,"Wrong Administrator name!!","ConfirmMessage",javax.swing.JOptionPane.ERROR_MESSAGE);</p><p><b> }</b></p><
101、p> //用戶名正確,校驗密碼;</p><p> else if(!(s2.equals(password))){</p><p><b> //密碼不正確</b></p><p> javax.swing.JFrame f=new javax.swing.JFrame("MessageDialog");
102、 </p><p> javax.swing.JOptionPane.showMessageDialog(f,"Wrong Administrator Password!!","ConfirmMessage",javax.swing.JOptionPane.ERROR_MESSAGE);</p><p> int returnValue=0;
103、</p><p> if(returnValue==javax.swing.JOptionPane.OK_OPTION)</p><p> f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); </p><p><b> }</b></p><p&g
104、t;<b> else{</b></p><p> zc.face.AdministratorInterface jf4=new zc.face.AdministratorInterface();</p><p> jf4.setVisible(true);</p><p> setVisible(false);</p>
105、<p> //密碼正確,建立新的界面 </p><p><b> }</b></p><p><b> }</b></p><p> 如果管理員用戶輸入的域名和密碼都正確,點(diǎn)擊“OK”按鈕后將會彈出管理員界面(Administrator)。</p><p> 在界面的上方有主菜單
106、,分六部分:人員管理,住房管理,收費(fèi)管理,房產(chǎn)管理,幫助,返回。</p><p> 在人員管理,住房管理,收費(fèi)管理,房產(chǎn)管理菜單下有相同的四種菜單項:</p><p> 添加(Insert)</p><p> 更新(Update)</p><p> 刪除(Delete)</p><p> 查詢(Inquery
107、)</p><p> 添加(Insert)菜單的代碼如下:</p><p> private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {</p><p> String input=null;</p><p> javax.swing.JFrame
108、f=new javax.swing.JFrame();</p><p> input=javax.swing.JOptionPane.showInputDialog(f,"請輸入Insert語句","Input",javax.swing.JOptionPane.QUESTION_MESSAGE);</p><p> System.out.prin
109、tln("數(shù)據(jù)添加........");</p><p> if((input!=null)&&(input.length()!=0)){</p><p> System.out.println(input);</p><p><b> //進(jìn)行數(shù)據(jù)添加</b></p><p>
110、<b> try{</b></p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b> }</b></p><p> catch(ClassNotFoundException ce){</p><p
111、> System.out.println("SQLException:"+ce.getMessage());</p><p><b> }</b></p><p><b> try{</b></p><p> Connection con=DriverManager.getConnecti
112、on("jdbc:odbc:houqin");</p><p> Statement stmt=con.createStatement();</p><p> int status=stmt.executeUpdate(input);</p><p> ResultSet rs=stmt.executeQuery("select
113、* from renyuan");</p><p> System.out.println(zc.face.MySqlUnit.printResultSet(rs));</p><p> stmt.close();</p><p> con.close();</p><p><b> }</b><
114、/p><p> catch(SQLException e){</p><p> System.out.println("SQLException:"+e.getMessage());</p><p><b> }</b></p><p> catch(IOException e2){</p&
115、gt;<p> System.out.println("IOException:"+e2.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p>
116、<p> System.out.println("輸入正確的Insert語句.");</p><p><b> }</b></p><p> 其它查詢代碼與上面的相同。</p><p> 如果管理員用戶想修改和查詢?nèi)藛T方面的信息,則可以點(diǎn)擊主菜單中的“人員管理”選項。</p><p&
117、gt; 如果管理員用戶想對人員數(shù)據(jù)庫添加記錄,則可以點(diǎn)擊“添加”菜單項將會彈出Insert對話框。管理員用戶輸入insert語句后點(diǎn)擊“確定”按鈕,如果Insert語句正確系統(tǒng)將會執(zhí)行“select*from renyuan”查詢并在Output Windows窗口輸出查詢結(jié)果,至此對后端的renyuan數(shù)據(jù)庫添加了記錄,如果點(diǎn)擊“取消”按鈕,將會返回到管理員界面。</p><p> 如果管理員用戶想對人員數(shù)
118、據(jù)庫進(jìn)行更新,則可以點(diǎn)擊“更新”菜單項將會彈出Update對話框。管理員用戶輸入update語句后點(diǎn)擊“確定”按鈕,如果Update語句正確,系統(tǒng)將會執(zhí)行“selete*from renyuan”查詢,并在OutputWindows窗口輸出查詢結(jié)果,至此對后端的renyuan數(shù)據(jù)庫的記錄進(jìn)行了更新。如果點(diǎn)擊“取消”按鈕,將會返回到管理員界面。</p><p> 如果管理員用戶想刪除人員數(shù)據(jù)庫的某項記錄,則可以點(diǎn)
119、擊“刪除”菜單項將會彈出Delete對話框。管理員用戶輸入delete語句后點(diǎn)擊“確定”按鈕,如果Delete語句正確并且要刪除的記錄存在,系統(tǒng)將會執(zhí)行“selete*from renyuan”查詢,并在OutputWindows窗口輸出查詢結(jié)果,至此刪除了后端renyuan數(shù)據(jù)庫的某項記錄。如果點(diǎn)擊“取消”按鈕,將會返回到管理員界面。</p><p> 如果管理員用戶只想查詢有關(guān)人員數(shù)據(jù)庫的信息,則可以點(diǎn)擊“
120、查詢”菜單頂將會彈出Inquery 對話框。管理員用戶輸入select語句后點(diǎn)擊“確定”按鈕,如果select語句正確并且查詢內(nèi)容存在,系統(tǒng)將會執(zhí)行select語句,在OutputWindows窗口顯示查詢結(jié)果。如果點(diǎn)擊“取消”按鈕,將會返回到管理員界面。</p><p> 當(dāng)管理員用戶想對住房(zhufang)數(shù)據(jù)庫進(jìn)行修改和查詢時,則可以點(diǎn)擊主菜單中的“住房管理”選項。如果管理員用戶想對住房數(shù)據(jù)庫添加記錄時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----小區(qū)物業(yè)管理系統(tǒng)
- 畢業(yè)設(shè)計--小區(qū)物業(yè)管理系統(tǒng)
- 畢業(yè)設(shè)計--小區(qū)物業(yè)管理系統(tǒng)
- 小區(qū)物業(yè)管理系統(tǒng)畢業(yè)設(shè)計
- 小區(qū)物業(yè)管理系統(tǒng)畢業(yè)設(shè)計
- 物業(yè)管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計----物業(yè)管理系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計----小區(qū)物業(yè)管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計(論文)---小區(qū)物業(yè)管理系統(tǒng)
- 小區(qū)物業(yè)管理系統(tǒng)畢業(yè)設(shè)計論文
- 物業(yè)管理系統(tǒng)畢業(yè)設(shè)計開題報告
- vb畢業(yè)設(shè)計--小區(qū)物業(yè)管理系統(tǒng)
- java畢業(yè)設(shè)計--小區(qū)物業(yè)管理系統(tǒng)
- 小區(qū)物業(yè)管理系統(tǒng)畢業(yè)設(shè)計論文
- 基于javaee物業(yè)管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---xx小區(qū)物業(yè)管理系統(tǒng)
- 畢業(yè)設(shè)計--物業(yè)管理系統(tǒng)設(shè)計與開發(fā)
- 畢業(yè)設(shè)計(小區(qū)物業(yè)管理)
- 畢業(yè)設(shè)計----住宅小區(qū)物業(yè)管理系統(tǒng)
- 畢業(yè)設(shè)計論文 (2)小區(qū)物業(yè)管理系統(tǒng)設(shè)計
評論
0/150
提交評論