最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JAVA小區(qū)物業(yè)管理系統(tǒng)(源代碼+論文)

2022-12-05 22:06 作者:ChatGPT云炬學長  | 我要投稿

畢業(yè)設計(論文)

[摘要]

物業(yè)管理系統(tǒng)是緊隨當今時代發(fā)展的需要,目的在于實現(xiàn)不同的人員對物業(yè)系統(tǒng)的不同的需要,有利于社會的穩(wěn)定和順利發(fā)展。

關鍵詞:小程序Applet;應用程序Application;數(shù)據(jù)庫;數(shù)據(jù)庫實現(xiàn);JDBC/ODBC橋;JDBC驅(qū)動程序

Materials industry manage system

ABSTRACT

Materials industry manage system is to follow current times demand 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.

一.本系統(tǒng)的意義

新的世界已經(jīng)到來,在電子計算機技術發(fā)展日新月異的今天,計算機軟件的應用早已深入到了各行各業(yè),并發(fā)揮著它們巨大的潛力。隨著企業(yè),房戶等一系列的改革,一切都在潮向社會化發(fā)展,管理體制也由過去的“全承包”向現(xiàn)在的“一體化,專門化”發(fā)展。為了人員的安全,社會的穩(wěn)定,國家的持續(xù)發(fā)展,物業(yè)管理在起著舉足輕重的作用。本物業(yè)管理系統(tǒng)提供對人員,住房,房產(chǎn)和收費信息的管理。為了有效管理和社會人員的方便,系統(tǒng)為管理員用戶和普通用戶提供了不同的功能。本系統(tǒng)具有一定的實用性。

本物業(yè)管理系統(tǒng)是在服務器上先安裝Windows NT操作系統(tǒng),并在NT系統(tǒng)下安裝數(shù)據(jù)庫系統(tǒng)SQL Server 7.0和建立人員、住房、房產(chǎn)、收費四個數(shù)據(jù)庫。然后在NT操作系統(tǒng)下用Java編寫不同的系統(tǒng)用戶界面,后用JDBC/ODBC橋?qū)崿F(xiàn)服務器上數(shù)據(jù)庫和前端界面的連接。連接成功后,將Java編寫的用戶界面移植到客戶端的Linux操作系統(tǒng)下,并用這個界面試圖實現(xiàn)與服務器上NT系統(tǒng)下的數(shù)據(jù)庫SQL連接。以達到在不同的操作系統(tǒng)下可以互相調(diào)用的目的,實現(xiàn)Java的重要特性:可移植性。

二.設計思想

2.1 當前數(shù)據(jù)庫實現(xiàn)中存在的問題:

2.1.1 目前存在的問題----數(shù)據(jù)庫的實現(xiàn)面向單一應用

在目前開發(fā)的一部分數(shù)據(jù)庫應用軟件中,程序員的主要任務是編寫高質(zhì)量的程序,對所使用的軟件及數(shù)據(jù)庫很少關注,這就面臨數(shù)據(jù)庫單一應用的問題。

2.1.2 數(shù)據(jù)庫設計中存在數(shù)據(jù)完整性問題

數(shù)據(jù)庫應用所提供的功能一般都比較安全,往往自成一個系統(tǒng)。但是當數(shù)據(jù)庫不同后系統(tǒng)數(shù)據(jù)就會產(chǎn)生問題。

2.2 工具軟件的介紹

2.2.1 Java語言的介紹

Java是一個由SUN公司開發(fā)成功的新一代編程語言,它的最大特點就是:使用它可在各式各樣不同種機器,不同種操作平臺的網(wǎng)絡環(huán)境中開發(fā)軟件,即SUN公司所宣揚的“一次編寫,到處運行” 。

在SUN公司的“Java白皮書”中對Java有如下的定義:

Java: A simple, Object-oriented, distributed, robust, secure, architecture-neutral, portable, High-performance, multi-threaded, and dynamic language.(Java: 一種簡單的,面向?qū)ο蟮模植际降?,健壯的,安全的,結構中立的,可移植的,高效性的,多線程和動態(tài)的語言)。

這個定義充分地表現(xiàn)了Java語言的特點。

  1. 簡單性
    Java是一種簡單的語言。Java取消了其它的許多編程語言中十分繁瑣的和難以理解的內(nèi)容,例如C/C++中的指針,C++中類的多重繼承等。Java語言在外觀上讓大多數(shù)程序員都感到很熟悉,這樣程序員不需要經(jīng)過長時間訓練就能夠?qū)W會使用這種新型的程序開發(fā)工具。Java要求的基本解釋器約為40KB ,若加上基本的程序庫,約為215KB。由于Java程序很小,因此在小型機上Java程序也能夠很好地執(zhí)行。

  2. 面向?qū)ο?/p>

Java是一種面向?qū)ο蟮恼Z言。這里的“對象”是指應用程序的數(shù)據(jù)及其操作方法。Java程序的設計思想不同于C語言基于過程的程序設計思想。設計面向?qū)ο蟮某绦蛐枰獙⒕幊讨攸c放在資料和接口上。

3. 分布式特性

Java是一種分布式的語言。Java有一個很周全的程序庫,且很容易與HTTP和TCP/IP通信協(xié)議相配合。Java應用程序能在網(wǎng)絡上開啟并連結使用對象,就如同透過URL鏈接使用一個本地文件系統(tǒng)。利用Java來開發(fā)分布式的網(wǎng)絡程序是Java的一個重要應用。

  1. 健壯性

用Java編寫的程序在多種情況下都能穩(wěn)定地執(zhí)行。Java與C/C++最大的不同點是在于Java有一個專門的指針模型,它的作用是排除內(nèi)存中的數(shù)據(jù)被覆蓋和毀損的可能性。

  1. 安全性

Java是一種安全的網(wǎng)絡編程語言。Java是被設計用于網(wǎng)絡及分布的環(huán)境中的,所以Java程序的安全性自然是非常重要的。Java擁有數(shù)個階層的互鎖保護措施,能有效地防止病毒的侵入和破壞行為的發(fā)生。

  1. 結構中立性

眾所周知,網(wǎng)絡是由很多不同機型的計算機組合而成的。這些計算機的CPU和操作系統(tǒng)體系結構均有所不同。因此,要使一個應用程序可以在每一種計算機上都能夠執(zhí)行是很難的。所幸的是,Java的編譯器能夠產(chǎn)生一種結構中立的目標文件格式,這使得編譯碼能夠在多數(shù)的處理器中執(zhí)行。

  1. 可移植性

Java的源代碼和C/C++的源代碼一樣具有可移植性,而且Java的可移植性在相比之下還要更強一些。只要有對應系統(tǒng)的解釋器,Java程序就可以在所有的系統(tǒng)上執(zhí)行。Java的原始資料形式的大小是被指定的,例如Java之所以一直用“float”來表示一個32位字節(jié)的IEEE754的浮點運算數(shù)字,正是因為絕大多數(shù)的CPU都有此共同特征。Java自帶的程序庫定義了一些可移植的程序接口,這使Java語言具備了很好的可移植性。

  1. 解釋型語言
    Java的源程序首先由編譯器編譯成字節(jié)碼,之后再由解釋器解釋執(zhí)行。Java解釋器能直接在任何機器上執(zhí)行Java字節(jié)碼(Byte Codes),因此在進行程序鏈接時節(jié)省了時間,這對于縮短程序的開發(fā)過程有極大的幫助。
    9. 高效性
    Java字節(jié)碼能迅速地轉(zhuǎn)換成機器碼(Machine Code)。Java的這種效能幾乎與C/C++沒有分別。用Java編制的Java小應用程序可以取代部分CGI腳本(CGI Scripts)的功能,但是考到效率方面的問題,在大多數(shù)的情況下很多客戶端的基本操作還是由腳本語言來完成的。涉及到復雜算法的計算以及一些特別的效果,就可以由Applet或者ActiveX來完成。
    10. 多線程性
    Java語言具有多個線程,這對于交互回應能力和即時行為是有幫助的。
    11. 動態(tài)性
    Java比C/C++語言更具有動態(tài)性,更能適應時刻在變的環(huán)境。Java不會因程序庫的更新而重新編譯程序。
    2.2.2 JDK的環(huán)境工具:
    JDK是Java Developer’s Kit 的簡稱,意即Java的開發(fā)工具,這是舊的稱呼,新的名稱是Java 2 SDK,Standard Edition,V1.3簡稱為J2SE。

    1. Javac-Java語言編譯器
      Javac 是Java語言的編譯器,能夠把用戶由Java語言書中的程序編譯成字節(jié)代碼。

    2. java-Java語言解釋器
      Java命令解釋執(zhí)行Java字節(jié)代碼。
      3. jdb-Java語言調(diào)試工具
      jdb 命令用于調(diào)試Java語言編寫的程序。
      4. javah-C頭文件和源文件生成器
      javah命令從一個Java類中生成實現(xiàn)native方法所需的C頭文件和C源文件,用作Java語言與C語言之間的連接。
      5. javap-Java類文件反匯編器
      javap對類文件進行反匯編,用于分解類的組成單無,包括方法,構造函數(shù)和變量等,也稱為Java類分解器。
      6. javadoc-Java API文檔生成器
      Javadoc從java源文件生成HTML格式的API文檔。
      7. Appletviewer-Java Applet小應用程序
      Appletviewer命令使用戶不通過www瀏覽器也可以運行Java語言編制的Applet.
      2.2.3 JDK的使用
      利用JDK編程,還需要一個文本編輯器,最簡單的是Windows系統(tǒng)解釋的記事本(NotePad)可以選擇Ultraedit 或Editplus等工具。

      1. 編寫源文件:
        源文件是一個利用Java語言編寫的文本文件,可以在任何文本編輯器中來撰寫或修改。

      2. 將源文件編譯成字節(jié)碼文件
        利用JDK中的Java編譯器——javac,可以將源文件編譯成Java虛擬機(JVM)能夠解析的字節(jié)碼文件。

      3. 運行程序



利用JDK中的Java解析器,將字節(jié)碼文件轉(zhuǎn)化為你的系統(tǒng)能夠理解的指令,加以執(zhí)行。

2.2.4 JDBC簡介

Java數(shù)據(jù)庫連接JDBC(Java DateBase Connectivity)與ODBC(Open DataBase Connectivity)開放式數(shù)據(jù)庫連接的概念和標準一樣,兩者都是為各種流行數(shù)據(jù)庫提供無縫連接技術的。

JDBC利用java.sql包及其接口,類和異常事件,通過JDBC—ODBC橋可以對數(shù)據(jù)庫進行操作,但數(shù)據(jù)庫本身沒有什么要求,不需要什么特別的命令,只需要同ODBC一樣在服務器中設置ODBC數(shù)據(jù)源。

目前ODBC是存取關連式數(shù)據(jù)庫最常用的應用程序接口,幾乎所有平臺都可適用,但Java不直接使用ODBC而執(zhí)意要使用JDBC的理由如下:

1.ODBC是以C語言撰寫的接口,從Java調(diào)用C語言的源生代碼(native code)會有一些安全,穩(wěn)定,移植等問題。

2.從ODBC的C語言應用程序接口所處的字符串常量與java的字符串常量轉(zhuǎn)換結果可能不符需要。

3.ODBC不容易使用,即使簡單的查詢也得使用復雜的選項,不如JDBC易學易用。

4.使用ODBC時必須每臺用戶端計算機都要安裝驅(qū)動程序和管理員,但JDBC在安裝J2SDK時自動安裝完成,并可移植到所有網(wǎng)絡、計算機與大型主機的Java工作平臺。

2.2.5 Microsoft SQL Server7.0

SQL Server 是一種客戶機/服務器關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),使用Transact_SQL(一種結構化查詢語言——SQL——客戶機和 SQL Server之間發(fā)送請求。

  1. 客戶機/服務器體系結構
    SQL Server使用客戶面/服務器體系結構把工作負責劃分成在服務器計算機上運行的任務和在客戶面上運行的任務。

  2. 關系型數(shù)據(jù)庫管理系統(tǒng)
    RDBMS負責增強數(shù)據(jù)庫的結構,包括:
    <1>維護數(shù)據(jù)庫中數(shù)據(jù)之間的關系。
    <2>保證數(shù)據(jù)被正確存放,不違背定義數(shù)據(jù)之間的關系的規(guī)則。
    <3>在系統(tǒng)故障的情況下,恢復所有數(shù)據(jù)到已知的一致點。

  3. Transact-SQL

SQL Server使用Transact-SQL作為它的數(shù)據(jù)庫查詢和語言。Transact-SQL支持在1992年發(fā)布的最新ANSI SQL 標準,叫做ANSI SQL92,并增加了許多擴展來提供更多的功能。

2.3 物業(yè)管理系統(tǒng)軟件技術基礎

軟件體系結構在軟件系統(tǒng)中扮演一個非常重要的角色,它為系統(tǒng)的邏輯功能劃分提供了一個依據(jù),是快速,準確,高質(zhì)量進行系統(tǒng)開發(fā)的基礎,主要有兩種體系結構。

本系統(tǒng)采用兩層結構:將處理分兩個部分,主要的事務處理邏輯運行于客戶端,如向服務器端的數(shù)據(jù)庫發(fā)送SQL請求。由于大量的應用運行客戶端,所以又稱胖客戶機。

系統(tǒng)開發(fā)語言采用Java語言,數(shù)據(jù)庫采用Microsoft SQL Server7.0。

SQL Server7.0是一種比較簡單、普通的網(wǎng)絡數(shù)據(jù)庫。其操作系統(tǒng)環(huán)境也較普通——NT 4.0 Server 或NT2000。

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都是運行在Jdk基礎上的。JWS是sun公司早期的產(chǎn)品,其可用性比最近開發(fā)的FFJ差了許多。FFJ是可視化的編程工具,比之Jdk下的Dos編程更方便使用。故選擇運行在Jdk基礎上的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)境選擇為運行在Jdk1.3上的Forte for Java release 2.0。FFJ操作系統(tǒng)環(huán)境用NT2000和Linux 7.0。

2.4物業(yè)管理系統(tǒng)的硬件基礎

Forte for Java release 2.0硬件最低需求是350MHz Pentium II, 128 MB RAM 50 MB 硬盤空間。FFJ對硬件的要求很高,給編程帶來一定的實際困難。以下是我的硬件環(huán)境:

服務器

·Operate System——Microsoft Windows NT Server4.0

·CPU——x86 Family 6 Model 8

·RAM——130,420 KB

·Hard Disk——21GB

·Display——PHILIPS 105G

客戶機

·Operate System——Linux 7.0

·CPU——P II 400 MHz

·RAM——128 MB

·Hard Disk——10GB

·Display——SyncMaster 550s

2.5 系統(tǒng)介紹

2.5.1 網(wǎng)絡結構簡介

本物業(yè)管理系統(tǒng)的網(wǎng)絡體系實現(xiàn)是在服務器上先安裝windows NT操作系統(tǒng),并在NT系統(tǒng)下安裝數(shù)據(jù)庫系統(tǒng)SQL Server 7.0和建立人員、住房、房產(chǎn)、收費四個數(shù)據(jù)庫。然后在服務器的NT操作系統(tǒng)下用Java編寫不同的系統(tǒng)用戶界面,用JDBC/ODBC橋?qū)崿F(xiàn)服務器端的數(shù)據(jù)庫和前端界面的連接。連接成功后,將Java編寫的用戶界面移植到客戶端的Linux操作系統(tǒng)下,并用這個界面試圖實現(xiàn)與服務器端NT操作系統(tǒng)下的數(shù)據(jù)庫SQL連接。以達到在不同的操作系統(tǒng)下可以互相調(diào)用的目的,實現(xiàn)Java的重要特性:可移植性。

網(wǎng)絡體系結構圖如下所示:

客戶端 服務器

Linux Java編寫的用戶界面Java編寫的用戶界面SQL Server數(shù)據(jù)庫
Windows NTSQL Server數(shù)據(jù)庫

2.5.2 服務器系統(tǒng)功能模塊

基于Java的跨平臺網(wǎng)絡數(shù)據(jù)庫由后勤小區(qū)物業(yè)管理系來具體實現(xiàn)。后勤小區(qū)物業(yè)管理系統(tǒng)有兩個模塊——普通用戶查詢系統(tǒng)模塊和管理員用戶管理系統(tǒng)模塊。普通用戶查詢系統(tǒng)是普通用戶對數(shù)據(jù)庫進行查詢的模塊,不支持數(shù)據(jù)庫的管理。而管理員管理系統(tǒng)是數(shù)據(jù)庫管理員對數(shù)據(jù)庫進行管理的模塊,需要密碼驗證才可進入。普通用戶查詢系統(tǒng)模塊和管理員用戶管理系統(tǒng)模塊下又有四個模塊——人員信息模塊,住房信息模塊,收費信息模塊,房產(chǎn)信息模塊。管理員可以對數(shù)據(jù)庫的數(shù)據(jù)進行添加,修改,刪除和查詢

以下是后勤小區(qū)管理系統(tǒng)的功能模塊圖


物業(yè)管理系統(tǒng)


普通用戶查詢系統(tǒng)

管理員管理系統(tǒng)


士大夫士大夫房產(chǎn)

似的

人員信息查詢

住房信息查詢

收費信息查詢

房產(chǎn)信息查詢

人員信息管理

住房信息管理

收費信息管理

房產(chǎn)信息管理

其中,人員信息管理模塊的下一級模塊和其它三個模塊的下一級模塊一樣, 這里只畫了一個。


人員信息管理


人員信息查詢

人員信息添加

人員信息修改

人員信息刪除

系統(tǒng)的前端開發(fā)語言采用Java語言,后端數(shù)據(jù)庫采用MSSQL Server7.0.

2.5.1 服務器前端簡介

系統(tǒng)主要針對普通用戶和管理員用戶兩種類型,可以由主界面選擇進入普通用戶界面還是管理員界面如選擇進入管理員界面,需通過域名驗證和密碼驗證才可以。普通用戶只具有對后端數(shù)據(jù)庫的查詢功能,而管理員用戶同時具有對后端數(shù)據(jù)庫的修改和查詢功能,其中修改包括添加,更新,刪除功能。

2.5.2 服務器后端數(shù)據(jù)庫簡介

系統(tǒng)主要建立了renyuan, zhufang, shoufei, fangchan 四個數(shù)據(jù)庫,是通過在houqin數(shù)據(jù)庫下建立renyuan,zhufang,shoufei, fangchan四個表(Tables)得到的。數(shù)據(jù)庫的擁有者可以直接從SQL Server對數(shù)據(jù)庫進行添加,刪除,更新,查詢和設置表的結構等功能。而系統(tǒng)管理員只可以從前端對數(shù)據(jù)庫進行添加,刪除,更新和查詢功能,不能改變數(shù)據(jù)庫的結構等,普通用戶則只具有對數(shù)據(jù)庫的查詢功能。

2.5.3 系統(tǒng)查詢結構圖

系統(tǒng)前臺

  系統(tǒng)后臺

普通
用戶管理員 用戶查詢修改

三、設計過程

首先,用戶看到的是系統(tǒng)的主界面(JFraml),即系統(tǒng)的進入界面,主要有三個按鈕控件組成。如果你是普通用戶,則選擇普通用戶進入系統(tǒng)按鈕,如果你是系統(tǒng)管理員用戶,則選擇管理員進入系統(tǒng)按鈕。系統(tǒng)管理員用戶進入管理系統(tǒng),必須通過域名和密碼的驗證,否則不能進入管理系統(tǒng)。

普通用戶進入系統(tǒng)按鈕的代碼如下:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

zc.face.userInterface2 jf3=new zc.face.userInterface2();

jf3.setVisible(true);

setVisible(false);

}

管理員用戶進入系統(tǒng)按鈕的代碼與普通用戶進入系統(tǒng)按鈕大代碼相似。

如果現(xiàn)在你想退出系統(tǒng),則可以選擇推出系統(tǒng)按鈕,將會彈出確認對話框,詢問你是否決定退出系統(tǒng)(Are you sure to quit?).如果選擇確定按鈕,將會退出本系統(tǒng)。如果你現(xiàn)在又不想退出本系統(tǒng),則選擇取消按鈕。

退出系統(tǒng)按鈕的代碼如下:

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

javax.swing.JFrame f=new javax.swing.JFrame("ConfirmDialog");

int returnValue=javax.swing.JOptionPane.CANCEL_OPTION;

returnValue=javax.swing.JOptionPane.showConfirmDialog(f,"Are you sure to quit?","ask",javax.swing.JOptionPane.OK_CANCEL_OPTION);

if(returnValue==javax.swing.JOptionPane.OK_OPTION){

System.exit(0);

}

else

f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

}

3.1 普通用戶系統(tǒng)

用戶選擇進入普通用戶系統(tǒng),系統(tǒng)彈出普通用戶界面(userInterface)。

userInterface界面上有各類待查詢信息,在界面的上方有主菜單,分六部分:人員信息、住房信息、收費信息、房產(chǎn)信息、幫助、返回。

在人員信息中有兩種:

sql查詢

填充查詢

sql查詢代碼如下:

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

String input=null;

javax.swing.JFrame f=new javax.swing.JFrame();

input=javax.swing.JOptionPane.showInputDialog(f,"請輸入sql敘述如select*from renyuan","Input",javax.swing.JOptionPane.QUESTION_MESSAGE);

System.out.println("數(shù)據(jù)查詢.........");

if((input!=null)&&(input.length()!=0)){

System.out.println(input);

//進行數(shù)據(jù)庫查詢

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundException ce){

System.out.println("SQLException:"+ce.getMessage());

}

try{

Connection con=DriverManager.getConnection("jdbc:odbc:houqin");

Statement stmt=con.createStatement();

ResultSet rs=stmt.executeQuery(input);

System.out.println(zc.face.MySqlUnit.printMetaData(rs));

System.out.println(zc.face.MySqlUnit.printResultSet(rs));

stmt.close();

con.close();

}

catch(SQLException e){

System.out.println("SQLException:"+e.getMessage());

}

catch(IOException e2){

System.out.println("IOException:"+e2.getMessage());

}

}

else

System.out.println("輸入正確的查詢語句.");

}

在填充查詢中又分三種:

按姓名

按門牌號

按工作單位

按姓名查詢代碼如下:

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

zc.face.renyuan1 jf=new zc.face.renyuan1( );

jf.setVisible(true);

setVisible(false);

}

按門牌號和工作單位查詢代碼與按姓名查詢代碼相似。

住房信息的菜單結構與人員信息大菜單結構相似,其查詢代碼也相似。

在收費信息和房產(chǎn)信息中有兩種:

sql查詢

填充查詢

其查詢代碼與人員信息查詢代碼相似:

如果用戶想查詢?nèi)藛T方面的信息,可以通過點擊主菜單中的“人員信息”選項實現(xiàn)。

如果用戶想查詢某個人的具體信息,用戶對數(shù)據(jù)庫查詢語句又比較熟悉,用戶可以選擇人員信息菜單下的“sql查詢” 。在彈出的對話框中輸入Select查詢語句點擊“確定”按鈕進行杳詢。

如果用戶想查詢某個人的具體信息,用戶對數(shù)據(jù)庫又不熟悉,則可以選擇人員信息菜單下的“填充查詢” 。

如果用戶只知道所要查詢?nèi)说男彰瑒t可以點擊“按姓名查詢”。用戶可以在彈出的人員信息查詢界面1(renyuan1.java)的文本框中輸入查詢?nèi)诵彰?,點擊“查詢”按鈕進行查詢。如果用戶想繼續(xù)查詢其他人員信息,則可以點擊“繼續(xù)查詢”按鈕繼續(xù)進行查詢。如果用戶現(xiàn)在不想查詢,則可以點擊“取消”按鈕,將會返回到普通用戶界面。

查詢按鈕的代碼如下:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundException ce){

System.out.println("SQLException:"+ce.getMessage());

}

try

{

if(!jTextField4.getText( ).equals(" "))

{

Connection con=DriverManager.getConnection("jdbc:odbc:houqin");

System.out.println("鏈接成功");

System.out.println("sql查詢:");

String query="select * from renyuan"+ " where 姓名='"+jTextField4.getText( )+"'";

System.out.println(query);

Statement stmt=con.createStatement();

ResultSet rs=stmt.executeQuery(query);

System.out.println(zc.face.MySqlUnit.printResultSet(rs));

stmt.close();

con.close();

}

else

System.out.println("請輸入正確的姓名后按查詢按鈕");

}

catch(SQLException e){

System.out.println("SQLException:"+e.getMessage());

}

catch(IOException e2){

System.out.println("IOException:"+e2.getMessage());

}

}

繼續(xù)查詢按鈕的代碼如下:

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

jTextField4.setText(" ");:

}

取消按鈕的代碼如下:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

zc.face.userInterface2 jf1=new zc.face.userInterface2();

jf1.setVisible(true);

setVisible(false);

}

如果用戶只知道所要查詢?nèi)说拈T牌號,就可以點擊“按門牌號查詢”,用戶可以在彈出的人員信息查詢界面2(renyuan2.java)的文本框中輸入門牌號信息點擊“查詢”按鈕進行查詢.

如果用戶只知道所要查詢?nèi)说墓ぷ鲉挝?,就可以點擊“按工作單位查詢”,用戶可以在彈出的人員信息界面3(renyuan3.java)的文本框中輸入工作單位信息點擊“查詢”按鈕進行查詢。

當用戶想查詢住房方面的信息,可以通過點擊主菜單的“住房信息”選項實現(xiàn)。用戶可根據(jù)自身情況選擇“sql查詢”還是“填充查詢”。如果選擇“填充查詢”,用戶則要根據(jù)自已所知道的住房信息內(nèi)容,進行按姓名,按門牌號,還是按工作來源查詢來進行選擇。其查詢代碼與人員信息菜單下的菜單項查詢代碼相似。

當用戶想查詢收費方面的信息,可以通過點擊主菜單中的“收費信息”選項實現(xiàn)。用戶可根據(jù)自身情況選擇“sql查詢”還是“填充查詢”。如果選擇“填充查詢”,用戶可以在彈出的收費信息查詢界面(shoufei.java)的文本框中輸入所要查詢的收費信息住房的門牌號點擊“查詢”按鈕進行查詢。點擊“繼續(xù)查詢”按鈕在文本框內(nèi)重新輸入其它門牌號信息,點擊“查詢”按鈕進行查詢。其查詢代碼與主菜單中的“人員信息”菜單下的菜單項的查詢代碼相似。

如果用戶想查詢房戶方面的信息,可以通過點擊主菜單中的“房產(chǎn)信息”選項實現(xiàn).用戶可根據(jù)自身情況決定選擇“sql查詢”還是“填充查詢”。如果選擇“sql查詢”,用戶可以在彈出的對話框直接輸入Select查詢語句,點擊“確定”按鈕進行查詢。如果選擇“填充查詢”,用戶可以在彈出的房產(chǎn)信息查詢界面(fangchan.java)的文本框中輸入所要查詢房產(chǎn)的樓號信息點擊“查詢”按鈕進行查詢。點擊“繼續(xù)查詢”按鈕在文本框內(nèi)重新輸入其它樓號信息,點擊“查詢”按鈕進行查詢。其查詢代碼與主菜單中的“人員信息”菜單下的菜單項的查詢代碼相似。

如果用戶想了解關于普通用戶系統(tǒng)的信息,則可以點擊主菜單中的“幫助”菜單下的“幫助”菜單項,將會在文本區(qū)內(nèi)顯示幫助信息。

“幫助”菜單項的代碼如下:

private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt){

String s 歡迎進入用戶系統(tǒng) \n"+

" 用戶在這里可以得到關于人員,住房,收費和房產(chǎn)方面的信息,\n"+

"系統(tǒng)功能使用說明如下:\n"+

" 1。用戶可以使用sql查詢和填充查詢兩種查詢方式,可從菜\n"+

"單進行選擇。\n"+

" 2。sql查詢是直接在對話框內(nèi)輸入select查詢語句按確定按\n"+

"鈕進行查詢,適合于對數(shù)據(jù)庫查詢語句熟悉的用戶。\n"+

" 3。填充查詢是根據(jù)用戶從菜單所選中項的要求和提示在文本框\n"+

"內(nèi)輸入用戶所知信息按查詢按鈕進行查詢,適合于一般的查詢用戶。\n"+

" 4。查詢結果在輸出框內(nèi)顯示。\n"+

" 5。用戶可通過幫助菜單的幫助項得到關于系統(tǒng)使用的說明。\n";

jTextArea1.setText(s);

}

如果用戶想離開普通用戶界面,則可以點擊主菜單中的“返回”菜單下的“返回”菜單項。

“返回”菜單項的代碼如下:

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

zc.JFrame1 jf1=new zc.JFrame1();

jf1.setVisible(true);

setVisible(false);

}

3.2 管理員系統(tǒng)

系統(tǒng)管理員用戶選擇管理員進入系統(tǒng)按鈕,將會彈出管理員用戶域名和密碼驗證界面(JFrame2)。在驗證界面中,根據(jù)提示在文本框中輸入管理員用戶域名和進入密碼,點“OK”按鈕。如果域名和密碼正確,管理員用戶則可進入管理系統(tǒng)界面。如果域名和密碼有一項不正確,管理員用戶也不能進入管理系統(tǒng),而且系統(tǒng)也會根據(jù)域名和密碼的錯誤情況出現(xiàn)不同的對話框給予提示。如果域名不正確,而密碼正確點擊“OK”按鈕將彈出對話框1并顯示:Wrong Administrator name!! 信息,點擊“確定”按鈕將會返回到JFrame2界面,要求重新輸入域名;如果域名正確而密碼不正確,點擊“OK”按鈕將彈出對話框2并顯示:Wrong Administrator Password!! 信息,點擊“確定”按鈕將會返回到JFrame2界面,要求重新輸入密碼;如果域名和密碼都不正確,點擊“OK”按鈕將彈出對話框3并顯示:Wrong Administrator name and Wrong Administrator passward!! 信息,點擊“確定”按鈕將會返回到JFrame2界面。

如果管理員用戶不想進入管理系統(tǒng),則可以點擊JFrame2界面上的“Cancel”按鈕,將會返回到開始界面(JFrame1)。

“OK”按鈕的代碼如下:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

confirmPassword();

}

public void confirmPassword(){

String s1="",s2="",s="htf",password="270098";

s1=jTextField1.getText();

s2=jPasswordField2.getText();

if(!(s1.equals(s))&&(!(s2.equals(password)))){

//用戶名和密碼都不正確

javax.swing.JFrame f=new javax.swing.JFrame("MessageDialog");

javax.swing.JOptionPane.showMessageDialog(f,"Wrong Administrator name and Wrong Administrator Password!!","ConfirmMessage",javax.swing.JOptionPane.ERROR_MESSAGE);

int returnValue=0;

if(returnValue==javax.swing.JOptionPane.OK_OPTION)

f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

}

else if(!(s1.equals(s))){

//用戶名不正確;

javax.swing.JFrame f=new javax.swing.JFrame("MessageDialog");

javax.swing.JOptionPane.showMessageDialog(f,"Wrong Administrator name!!","ConfirmMessage",javax.swing.JOptionPane.ERROR_MESSAGE);

}

//用戶名正確,校驗密碼;

else if(!(s2.equals(password))){

//密碼不正確

javax.swing.JFrame f=new javax.swing.JFrame("MessageDialog");

javax.swing.JOptionPane.showMessageDialog(f,"Wrong Administrator Password!!","ConfirmMessage",javax.swing.JOptionPane.ERROR_MESSAGE);

int returnValue=0;

if(returnValue==javax.swing.JOptionPane.OK_OPTION)

f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

}

else{

zc.face.AdministratorInterface jf4=new zc.face.AdministratorInterface();

jf4.setVisible(true);

setVisible(false);

//密碼正確,建立新的界面

}

}

如果管理員用戶輸入的域名和密碼都正確,點擊“OK”按鈕后將會彈出管理員界面(Administrator)。

在界面的上方有主菜單,分六部分:人員管理,住房管理,收費管理,房產(chǎn)管理,幫助,返回。

在人員管理,住房管理,收費管理,房產(chǎn)管理菜單下有相同的四種菜單項:

添加(Insert)

更新(Update)

刪除(Delete)

查詢(Inquery)

添加(Insert)菜單的代碼如下:

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

String input=null;

javax.swing.JFrame f=new javax.swing.JFrame();

input=javax.swing.JOptionPane.showInputDialog(f,"請輸入Insert語句","Input",javax.swing.JOptionPane.QUESTION_MESSAGE);

System.out.println("數(shù)據(jù)添加........");

if((input!=null)&&(input.length()!=0)){

System.out.println(input);

//進行數(shù)據(jù)添加

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundException ce){

System.out.println("SQLException:"+ce.getMessage());

}

try{

Connection con=DriverManager.getConnection("jdbc:odbc:houqin");

Statement stmt=con.createStatement();

int status=stmt.executeUpdate(input);

ResultSet rs=stmt.executeQuery("select * from renyuan");

System.out.println(zc.face.MySqlUnit.printResultSet(rs));

stmt.close();

con.close();

}

catch(SQLException e){

System.out.println("SQLException:"+e.getMessage());

}

catch(IOException e2){

System.out.println("IOException:"+e2.getMessage());

}

}

else

System.out.println("輸入正確的Insert語句.");

}

其它查詢代碼與上面的相同。

如果管理員用戶想修改和查詢?nèi)藛T方面的信息,則可以點擊主菜單中的“人員管理”選項。

如果管理員用戶想對人員數(shù)據(jù)庫添加記錄,則可以點擊“添加”菜單項將會彈出Insert對話框。管理員用戶輸入insert語句后點擊“確定”按鈕,如果Insert語句正確系統(tǒng)將會執(zhí)行“select*from renyuan”查詢并在Output Windows窗口輸出查詢結果,至此對后端的renyuan數(shù)據(jù)庫添加了記錄,如果點擊“取消”按鈕,將會返回到管理員界面。

如果管理員用戶想對人員數(shù)據(jù)庫進行更新,則可以點擊“更新”菜單項將會彈出Update對話框。管理員用戶輸入update語句后點擊“確定”按鈕,如果Update語句正確,系統(tǒng)將會執(zhí)行“selete*from renyuan”查詢,并在OutputWindows窗口輸出查詢結果,至此對后端的renyuan數(shù)據(jù)庫的記錄進行了更新。如果點擊“取消”按鈕,將會返回到管理員界面。

如果管理員用戶想刪除人員數(shù)據(jù)庫的某項記錄,則可以點擊“刪除”菜單項將會彈出Delete對話框。管理員用戶輸入delete語句后點擊“確定”按鈕,如果Delete語句正確并且要刪除的記錄存在,系統(tǒng)將會執(zhí)行“selete*from renyuan”查詢,并在OutputWindows窗口輸出查詢結果,至此刪除了后端renyuan數(shù)據(jù)庫的某項記錄。如果點擊“取消”按鈕,將會返回到管理員界面。

如果管理員用戶只想查詢有關人員數(shù)據(jù)庫的信息,則可以點擊“查詢”菜單頂將會彈出Inquery 對話框。管理員用戶輸入select語句后點擊“確定”按鈕,如果select語句正確并且查詢內(nèi)容存在,系統(tǒng)將會執(zhí)行select語句,在OutputWindows窗口顯示查詢結果。如果點擊“取消”按鈕,將會返回到管理員界面。

當管理員用戶想對住房(zhufang)數(shù)據(jù)庫進行修改和查詢時,則可以點擊主菜單中的“住房管理”選項。如果管理員用戶想對住房數(shù)據(jù)庫添加記錄時,則可以點擊“添加”菜單項;如果管理員用戶想對住房數(shù)據(jù)庫的記錄進行更新,則可以點擊“更新”菜單項;如果管理員用戶想對住房數(shù)據(jù)庫的記錄進行刪除,則可以點擊“刪除”菜單項;如果管理員用戶只想查詢住房數(shù)據(jù)庫的信息,則可以點擊“查詢”菜單項。其“添加”,“更新”,“刪除”,“查詢”菜單的具體用法同“人員管理”菜單下的“添加”,“更新”,“刪除”,“查詢”菜單項。

當管理員用戶想對收費(shoufei)數(shù)據(jù)庫進行修改和查詢時,則可以點擊主菜單中的“收費管理”選項。如果管理員用戶想對收費數(shù)據(jù)庫添加記錄時,則可以點擊“添加”菜單項;如果管理員用戶想對收費數(shù)據(jù)庫的記錄進行更新,則可以點擊“更新”菜單項;如果管理員 用戶想對收費數(shù)據(jù)庫的記錄進行刪除,則可以點擊“刪除”菜單項;如果管理員用戶只想查詢收費數(shù)據(jù)庫的信息,則可以點擊“查詢”菜單項。其“添加”,“更新”,“刪除”,“查詢”菜單的具體用法同“人員管理”菜單下的“添加”,“更新”,“刪除”,“查詢”菜單項。

當管理員用戶想對房產(chǎn)(fangchan)數(shù)據(jù)庫進行修改和查詢時,則可以點擊主菜單中的“房產(chǎn)管理”選項。如果管理員用戶想對房產(chǎn)添加記錄時,則可以點擊“添加”菜單項;如果管理員用戶想對房產(chǎn)的記錄進行更新,則可以點擊“更新”菜單項;如果管理員用戶想對房產(chǎn)的記錄進行刪除,則可以點擊“刪除”菜單項;如果管理員用戶只想查詢房產(chǎn)的信息,則可以點擊“查詢”菜單項。其“添加”,“更新”,“刪除”,“查詢”菜單的具體用法同“人員管理”菜單下的“添加”,“更新”,“刪除”,“查詢”菜單項。

如果管理員用戶想了解系統(tǒng)的有關信息,則可以點擊主菜單中“幫助”菜單下的“幫助”菜單項,將會在主菜單下的文本區(qū)內(nèi)顯示系統(tǒng)信息。

如果管理員用戶想離開管理系統(tǒng),則可以點擊主菜單中“返回”菜單下的“返回”菜單項,管理員用戶則可以返回到開始界面(JFramel)。

3.3 物業(yè)管理系統(tǒng)的各個界面及其功能介紹

系統(tǒng)的進入界面是JFramel.java,下面是JFramel.java界面:

JFramel.java是系統(tǒng)的主界面,進入系統(tǒng)有三個選擇:普通用戶進入系統(tǒng),管理員進入系統(tǒng),退出系統(tǒng)。用戶可以根據(jù)自己的需要選擇進入不同的界面。

以下是userInterface.java界面:

userInterface.java是普通用戶系統(tǒng)的查詢主界面,用戶可以在此實現(xiàn)對人員信息,住房信息、收費信息、房產(chǎn)信息的各種查詢。

renyuan1.java界面是用戶想查詢?nèi)藛T方面的信息時,又只知道所要查詢?nèi)说男彰麜r進行查詢的界面。

renyuan2.java界面是用戶想查詢?nèi)藛T方面的信息時,又只知道所要查詢?nèi)说拈T牌號時進行查詢的界面。

renyuan3.java界面

zhufang1.java界面

zhufang2.java界面

zhufang3.java界面

shoufei.java界面

fangchan.java界面

以下是renyuan1.java界面:

以上是系統(tǒng)為方便普通用戶查詢各種信息而提供的不同種類的查詢界面。

以下是Administraror.java界面:

Administraror.java是管理系統(tǒng)的主界面,管理員用戶可以通過界面提供的各類管理信息的各種功能實現(xiàn)對后端數(shù)據(jù)庫記錄的添加,更新,刪除,查詢和管理。

Input1.java界面是管理員想對人員數(shù)據(jù)庫添加記錄時點擊“人員管理”菜單下的“添加”項時出現(xiàn)的界面。

Input2.java界面是管理員想對住房數(shù)據(jù)庫添加記錄時點擊“住房管理”菜單下的“添加”項時出現(xiàn)的界面。

Input3.java界面

Input4.java界面

Update1.java界面

Delete1.java界面

Inquery1.java界面

3.4 各個表單的聯(lián)系

下面根據(jù)在普通用戶界面對人員信息按姓名進行查詢及管理員界面對人員數(shù)據(jù)庫進行添加記錄將以上部分界面連接起來。

用戶在進入界面(JFraml.java)上點擊“普通用戶進入系統(tǒng)”按鈕,系統(tǒng)就彈出普通用戶界面(userInterface.java)。

如果用戶想查詢?nèi)藛T方面的信息,就點擊主菜單中的“人員信息”菜單,如果用戶對數(shù)據(jù)庫查詢方面的知識不熟悉,則選擇“人員信息”菜單下的“填充查詢”菜單。如果用戶只知道所要查詢?nèi)说男彰?,則點擊“填充查詢”菜單下的“姓名”菜單項,系統(tǒng)將會彈出人員信息查詢界面1(renyuan1.java)。用戶可以輸入查詢?nèi)诵彰c擊“查詢”按鈕查詢,查詢結果在OutputWindow窗口顯示,如果用戶想繼續(xù)查詢,就點擊“繼續(xù)查詢”按鈕,用戶重新輸入其他查詢?nèi)诵彰c擊“查詢”按鈕進行查詢。用戶此時如果想離開renyuan1.java界面,就點擊“取消”按鈕,將會返回到普通用戶界面。

如果用戶想了解更多方面的關于用戶系統(tǒng)的信息,則可以點擊主菜單中的“幫助”菜單下的“幫助”菜單項,將會在主菜單下的文本區(qū)內(nèi)顯示系統(tǒng)信息。

如果用戶想離開普通用戶界面,則可以點擊主菜單中的“返回”菜單下的“返回”菜單項,用戶將退出用戶系統(tǒng)返回到進入界面(JFrame1.java).

管理員用戶在進入界面上點擊“管理員進入系統(tǒng)”按鈕,系統(tǒng)就彈出管理員進入系統(tǒng)驗證界面(JFrame2.java)。

界面如下:

JFrame2.java界面要求管理員用戶輸入正確的域名和密碼進入管理系統(tǒng)。管理員用戶輸入域名和密碼后,如果正確則進入管理系統(tǒng)。如果域名和密碼都不正確,將會彈出error1.java界面;如果域名正確而密碼不正確,將會彈出error2.java界面;如果域名不正確而密碼正確將會彈出error3.java界面。

管理員用戶輸入正確的域名和密碼后,點擊“OK”按鈕將會彈出管理員界面(Administrator.java)。如果管理員用戶想對人員數(shù)據(jù)庫進行添加記錄,就可以點擊主菜單中的“人員管理”菜單,然后選中“人員管理”菜單下的“添加”菜單項,將會彈出Input1.java界面。管理員用戶輸入添加記錄語句(insert語句)后,點擊“確定”按鈕,如果insert語句正確,則可以實現(xiàn)對后端renyuan數(shù)據(jù)庫記錄的添加。

如果用戶此時想退出Input1.java界面,就可以點擊“取消”按鈕,將會返回到管理員主界面(Administrator.java)。

如果管理員用戶想了解更多方面的關于管理系統(tǒng)的信息,則可以點擊主菜單中的“幫助”菜單下的“幫助”菜單項,將會在主菜單下的文本區(qū)內(nèi)顯示系統(tǒng)信息。

如果管理員用戶想離開管理員界面,則可以點擊主菜單中的“返回”菜單下的“返回”菜單項。管理員用戶將退出管理系統(tǒng)返回到進入界面(JFrame1.java)。

如果管理員用戶想退出本系統(tǒng),就可以點擊進入界面(JFrame1.java)上的“退出系統(tǒng)”按鈕,將會彈出詢問(askdialog)對話框,確認管理員用戶是否決定退出本系統(tǒng)(Are you sure to quit ?),點擊“確定”按鈕將退出本系統(tǒng);點擊“取消”按鈕將會返回到進入界面(JFrame1.java).

管理員用戶點擊“確定”按鈕,退出本系統(tǒng)。

3.5后臺數(shù)據(jù)庫的建立

啟動Microsoft SQL Server 7.0的Enterprise Manager,建立houqin數(shù)據(jù)庫。

界面如下:

然后打開houqin數(shù)據(jù)庫,右擊tables,建立人員數(shù)據(jù)庫(renyuan)。

人員數(shù)據(jù)庫(renyuan)的表結構如下:

人員數(shù)據(jù)庫(renyuan)的數(shù)據(jù)添加如下:

其它數(shù)據(jù)庫的建立如人員數(shù)據(jù)庫(renyuan)的建立。

3.6 建立ODBC數(shù)據(jù)源

在連接數(shù)據(jù)庫之前,首先應該設置系統(tǒng)的ODBC數(shù)據(jù)源,此數(shù)據(jù)源向前面新建的houqin數(shù)據(jù)庫,步驟如下:

1.先打開windows NT的控制面板,單擊ODBC數(shù)據(jù)源(32位)的圖標,將打開ODBC數(shù)據(jù)源管理器。

2.在彈出的對話框中,選擇系統(tǒng)DSN(數(shù)據(jù)源名)屬性頁,其它還有用戶DSN、文件DSN及驅(qū)動程序等。

3.在屬性頁中單擊“添加”按鈕。

4.出現(xiàn)“創(chuàng)建新數(shù)據(jù)源”窗口。因為要與SQL Server數(shù)據(jù)庫系統(tǒng)相連接,所以選擇SQL Server驅(qū)動程序,并單擊“完成”。

5.出現(xiàn)“建立新的數(shù)據(jù)源到SQL Server”窗口。

“Data Source Name”域輸入“houqin”

“Server”域輸入“(local)”,單擊“下一步”

6.選擇“使用網(wǎng)絡登錄標識號的Windows NT驗證”,單擊“下一步”。

7.選擇“houqin”數(shù)據(jù)庫,單擊“下一步”。

8.單擊“完成”,彈出一對話框,單擊“測試數(shù)據(jù)源”。

9.彈出“SQL Server ODBC數(shù)據(jù)源測試”對話框,單擊“確認”按鈕就完成了設置數(shù)據(jù)源的所有工作。

3.7 連接數(shù)據(jù)庫

JDBC建立Java程序連接到數(shù)據(jù)庫的結構,它看起來很像ODBC,但ODBC是以C語言撰寫的,不能直接在Java程序中應用。JDBC中包含一個JDBC/ODBC的橋接器(bridge),通過該橋接器就可以在Java程序中調(diào)用合乎ODBC規(guī)格的數(shù)據(jù)庫。

JDBC/ODBC ODBC SQL

Java程序 JDBC 橋接驅(qū)動程序 驅(qū)動程序 數(shù)據(jù)庫

圖:利用JDBC/ODBC橋接驅(qū)動程序?qū)ava程序與數(shù)據(jù)庫連接

連接代碼如下:

try

{ Class.forName(“sun.jdbc.odbc. JdbcOdbcDriver”);}

catch (ClassNotFoundException ce)

{System.out.println(“SQLCXCEption:”+ce.getMessage());}

try

{Connection con=Driver Manager.getConnection(“jdbc:odbc:houqin”);}

catch(SQLException e)

{System.out.println(“SQLException:”+e.getMessage( );)

class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);載入JDBC/ODBC橋接驅(qū)動程序到程序中。Connection con=Driver Managor.getConnection(“jdbc:odbc:houqin”);連接到Microsoft的SQL Server數(shù)據(jù)庫,數(shù)據(jù)來源名稱為houqin的數(shù)據(jù)庫houqin。Class類別的ferName()方法負責將指定的JDBC/ODBC橋接驅(qū)動程序載入到Java程序中,DriverManager類別的getConnection()方法負責與指定的數(shù)據(jù)來源houqin連接。

3.8 取得數(shù)據(jù)表屬性

當使用JDBC送出SQL的select語句后,將會取得一個ResultSet對象rs,通過rs可建立一個ResultSetMetaData對象md,通過md對象可取得md對象中的數(shù)據(jù)成員或調(diào)用md對象中的方法成員:

md.getColumnCount() 取得指定數(shù)據(jù)表的域數(shù)

md.getColumnLabel(i) 取得第i域名稱

md.getColumnDisplaySize(i) 取得第i域顯示的域數(shù)

md.getColumnTypeName(i) 取得第i域的類型名稱

程序MySqlUtil.java中的printMetaData()方法顯示該連接表的一些靜態(tài)數(shù)據(jù),例如每一行共有幾域(colCount)、每域名稱(colLabel)、每域以幾個域(column)表示(colDisplaySize)、每一域的數(shù)據(jù)類型(colTypeName)等等。PrintResultSet()方法顯示該連接表的一些動態(tài)數(shù)據(jù),每一域的域名以及該域的內(nèi)含值。

其代碼如下:

package zc.face;

import java.io.*;

import java.sql.*;

class MySqlUnit {

public static String printMetaData(ResultSet rs) throws SQLException

{

ResultSetMetaData md=rs.getMetaData();

int colCount=md.getColumnCount();

String colLabel[]=new String[colCount+1];

int colDisplaySize[]=new int[colCount+1];

String colTypeName[]=new String[colCount+1];

System.out.println("database colCount="+colCount);

StringBuffer sb=new StringBuffer();

for(int i=1;i<=colCount;i++){

colLabel[i]=md.getColumnLabel(i);

colDisplaySize[i]=md.getColumnDisplaySize(i);

colTypeName[i]=md.getColumnTypeName(i);

sb.append("Label:"+colLabel[i]+"DisplaySize:"+colDisplaySize[i]+"TypeName:"+colTypeName[i]+"\r\n");

}

return sb.toString();

}

public static String printResultSet(ResultSet rs) throws IOException,SQLException

{

ResultSetMetaData md=rs.getMetaData();

int colCount=md.getColumnCount();

String colLabel[]=new String[colCount+1];

for(int i=1;i<=colCount;i++)

colLabel[i]=md.getColumnLabel(i);

StringBuffer sb=new StringBuffer();

while(rs.next()){

for(int i=1;i<=colCount;i++)

sb.append(colLabel[i]+":"+rs.getObject(i)+" ");

sb.append("\r\n");

return sb.toString( );

}

}

四.系統(tǒng)評價與展望

在有限的時間里經(jīng)過努力,物業(yè)管理系統(tǒng)已具規(guī)模。

界面比較實用,系統(tǒng)穩(wěn)定性好,在不同的計算機上都可以很平穩(wěn)的運行。

系統(tǒng)的查詢功能完備,可以滿足用戶的各種查詢要求。查詢信息準確無誤,完整詳細、迅速方便。

系統(tǒng)的可操作性很好,基本上不同用戶過多浪費時間在無謂的細節(jié)上。

系統(tǒng)的突出之處是用TDBC/ODBC橋接驅(qū)動程序連接成功,用Java語句實現(xiàn)了對后端數(shù)據(jù)庫的修改和查詢功能。

本系統(tǒng)在現(xiàn)有基礎上,對于后端數(shù)據(jù)庫系統(tǒng)的設計有待在又節(jié)約數(shù)據(jù)庫資源和又便于客戶端查詢更方便的基礎上進一步完善和協(xié)調(diào)。隨著計算機技術的不斷發(fā)展和更新以及人力物力的投入,本系統(tǒng)的功能將會得到更加完善的改進。

最后,我衷心感謝何嘉,徐虹兩位老師對我的悉心指導和幫助,也一并感謝我的畢業(yè)設計合作者張誠同學對我的幫助。

五.參考書目:

Microsoft SQLServer 7.0 開發(fā)指南 [美]Sharon Bjeletich,Greg Mable

Microsoft SQLServer 7.0 系統(tǒng)管理指南 [美]M.Soenik,o.Sledge

JAVA 例解教程 柯溫釗 中國鐵道出版社

Java 程序設計入門教程 林邦杰 中國青年出版社

Java 編程思想 Thinking in JAVA [美] Bruce Eckel

Windows NT Server4 從入門到精通 [美] Mark Minasi

操作系統(tǒng)Linux 北京·電子工業(yè)出版社


JAVA小區(qū)物業(yè)管理系統(tǒng)(源代碼+論文)的評論 (共 條)

分享到微博請遵守國家法律
榕江县| 稻城县| 紫金县| 忻城县| 长沙市| 措勤县| 独山县| 靖宇县| 吉水县| 安福县| 桦南县| 黄骅市| 措勤县| 乐平市| 三门峡市| 桂平市| 眉山市| 海伦市| 商水县| 迁安市| 金阳县| 邯郸市| 通榆县| 辉县市| 绥棱县| 娄底市| 于田县| 东乡| 晋宁县| 察哈| 和田市| 涟源市| 浏阳市| 泰来县| 保康县| 曲松县| 诸暨市| 阜阳市| 孟津县| 宜春市| 龙里县|