移動互聯(lián)網(wǎng)實(shí)驗(yàn)報告(彭文斌))_第1頁
移動互聯(lián)網(wǎng)實(shí)驗(yàn)報告(彭文斌))_第2頁
移動互聯(lián)網(wǎng)實(shí)驗(yàn)報告(彭文斌))_第3頁
移動互聯(lián)網(wǎng)實(shí)驗(yàn)報告(彭文斌))_第4頁
移動互聯(lián)網(wǎng)實(shí)驗(yàn)報告(彭文斌))_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 實(shí) 驗(yàn) 報 告學(xué)年學(xué)期:20152016學(xué)年第一學(xué)期課程名稱:移動互聯(lián)網(wǎng)指導(dǎo)老師:吳岳忠學(xué) 院:計算機(jī)與通信學(xué)院班 級:物聯(lián)網(wǎng)工程1302班學(xué) 號姓 名:彭文斌 湖 南 工 業(yè) 大 學(xué)實(shí) 驗(yàn) 報 告 第 14 周實(shí) 驗(yàn) 名 稱實(shí)驗(yàn)1 移動互聯(lián)網(wǎng)應(yīng)用開發(fā)平臺實(shí)驗(yàn)性質(zhì)必修實(shí)驗(yàn)類型開發(fā)實(shí)驗(yàn)課時4實(shí)驗(yàn)日期、時間12.3實(shí)驗(yàn)消耗器材臺式計算機(jī)實(shí)驗(yàn)儀器設(shè)備Intel Core i3 CPU,硬盤500G,Window 7操作系統(tǒng),MyEclipse 6.5, SQL Server 2005實(shí)驗(yàn)?zāi)康氖煜げ⒄莆找苿踊ヂ?lián)網(wǎng)應(yīng)用開發(fā)平臺,確定實(shí)驗(yàn)項目的應(yīng)用開發(fā)平臺。實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、

2、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)一、Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計語言。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。Java分為三個體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,標(biāo)準(zhǔn)版),JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業(yè)版),Java ME(J2ME,Java 2 Platform Micro Edition,微型

3、版)。Java由四方面組成:1.Java編程語言,即語法。2.文件格式,即各種文件夾、文件的后綴。3.Java虛擬機(jī)(JVM),即處理*.class文件的解釋器。4.Java應(yīng)用程序接口(Java API)。Java編程語言的風(fēng)格十分接近C語言、C+語言。Java是一個純粹的面向?qū)ο蟮某绦蛟O(shè)計語言,它繼承了 C+語言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C語言中容易引起錯誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java

4、1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)Java不同于一般的編譯執(zhí)行計算機(jī)語言和解釋執(zhí)行計算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的性能。java主要特性:Java語言是易學(xué)的。Java語言的語法與C語言和C+語言很接近,使得

5、大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,而是引用。并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。Java語言是強(qiáng)制面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C+語言只對虛函數(shù)使用動態(tài)綁定。總之,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。Java語言是分布式的。Java語言支持In

6、ternet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)Java語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一

7、個安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了

8、各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。8 Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。在運(yùn)行時,Java平臺中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。Java是性能略高的。與那些解釋型的高級腳本語言相比,Java的性能還是較實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)優(yōu)的。Java語言是原生支持多線程的。在Java語言中,線程是一

9、種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個實(shí)現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。Java語言是動態(tài)的。Java語言的設(shè)計目標(biāo)之一是適應(yīng)于動態(tài)變

10、化的環(huán)境。Java程序需要的類能夠動態(tài)地被載入到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運(yùn)行時刻的表示,能進(jìn)行運(yùn)行時刻的類型檢查。Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫

11、。實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)二、SQL Server 是Microsoft 公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2012 的大型多處理器的服務(wù)器等多種平臺使用。Microsoft SQL Server 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI)工具提供了企業(yè)級的數(shù)據(jù)管理。Microsoft SQL Server 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,可以構(gòu)建和

12、管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。Microsoft SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI)工具提供了企業(yè)級的數(shù)據(jù)管理。Microsoft SQL Server 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。實(shí) 驗(yàn) 報 告 第 14 周實(shí) 驗(yàn) 名 稱實(shí)驗(yàn)2 移動互聯(lián)網(wǎng)應(yīng)用開發(fā)技術(shù)實(shí)驗(yàn)性質(zhì)必修實(shí)驗(yàn)類型開發(fā)實(shí)驗(yàn)課時4實(shí)驗(yàn)日期、時間12.3實(shí)驗(yàn)消耗器材臺式計算機(jī)實(shí)驗(yàn)儀器設(shè)備Intel Core i3 CPU,硬盤500G,Window 7操作系統(tǒng),MyEclipse

13、6.5, SQL Server 2005實(shí)驗(yàn)?zāi)康氖煜げ⒄莆找苿踊ヂ?lián)網(wǎng)應(yīng)用開發(fā)技術(shù),確定實(shí)驗(yàn)項目的應(yīng)用開發(fā)技術(shù)及技術(shù)方案。實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)一、 項目開發(fā)技術(shù)1、Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。2、Microsoft SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI)工具提供了企業(yè)級的數(shù)據(jù)管理。Microsoft SQL Server 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更

14、安全可靠的存儲功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。二、技術(shù)方案:超市管理系統(tǒng)1、主要內(nèi)容超市管理系統(tǒng)是在超市管理中引進(jìn)現(xiàn)代化的辦公軟件,它可以實(shí)現(xiàn)超市龐大商品的控制和傳輸,從而方便銷售行業(yè)的管理和決策,為超市和超市管理人員解除后顧之憂。一款好的超市銷售管理系統(tǒng),應(yīng)該是可以幫助銷售部門提高工作效率,幫助超市工作人員利用計算機(jī),極為方便的對超市的有關(guān)數(shù)據(jù)進(jìn)行管理、輸入、輸出、查找等有關(guān)操作,使雜亂的超市數(shù)據(jù)能夠具體化、直觀化、合理化等。一款好的超市銷售管理系統(tǒng),應(yīng)該是可以幫助銷售部門提高工作效率,幫助超市工作人員利用計算機(jī),極為方便的對超市的有關(guān)數(shù)據(jù)進(jìn)行管理、輸入、輸出、查

15、找等有關(guān)操作,使雜亂的超市數(shù)據(jù)能夠具體化、直觀化、合理化等。實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)2、實(shí)現(xiàn)目標(biāo)首先,需要做到支持前臺銷售;第二,支持會員卡的管理;第三、支持多種結(jié)賬方式:現(xiàn)金,信用卡;第四、支持連鎖店管理;第五、支持?jǐn)嗑W(wǎng)收銀功能,各個收銀臺能單獨(dú)收銀;第六、完整的供貨商管理和客戶綜合管理;第七、簡單使用的庫存盤點(diǎn)功能;第八、實(shí)現(xiàn)對超市全體工作人員的管理;第九、實(shí)現(xiàn)對二維碼購物結(jié)賬功能。3、市場分析我國零售業(yè)信息化狀況的三個層面的分布基本明朗:在高端企業(yè),進(jìn)銷調(diào)存核心結(jié)構(gòu)體系基本運(yùn)作正常,面臨的主要問題是數(shù)據(jù)的深挖掘和加工、財務(wù)業(yè)務(wù)系統(tǒng)的高度集成、根據(jù)

16、企業(yè)的并購重組保證系統(tǒng)和數(shù)據(jù)的統(tǒng)一、穩(wěn)定。在中端企業(yè),分散營運(yùn)向集中管理轉(zhuǎn)變,進(jìn)銷調(diào)存核心結(jié)構(gòu)系統(tǒng)正在由分散單店管理、銷售核算向連鎖管理、進(jìn)價核算過渡。在低端企業(yè),剛剛涉足,對于信息化認(rèn)識處于表面層次,業(yè)務(wù)流程和信息系統(tǒng)建設(shè)需要一段時間的探索、認(rèn)識和漸進(jìn)過程。超市管理系統(tǒng)從企業(yè)的運(yùn)營和管理的實(shí)際情況出發(fā),結(jié)合該行業(yè)的發(fā)展趨勢,實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)為商業(yè)管理系統(tǒng)提供了全面的技術(shù)解決方案?;谶@些原因,超市管理系統(tǒng)在各個商業(yè)領(lǐng)域都發(fā)揮了很大的作用,也得到了越來越多大、中、小型企業(yè)的應(yīng)用。但是就目前的現(xiàn)狀來看,該系統(tǒng)在高端企業(yè)中得到了廣泛的應(yīng)用,但是在小

17、型企業(yè)中,卻沒有得到高度的重視。同時,小企業(yè)也因資金方面問題限制了其向更高程度信息化的應(yīng)用!4、可行性分析超市的軟件管理系統(tǒng)能夠?qū)崟r的和準(zhǔn)確的控制店內(nèi)的銷售情況??梢暂p松地對超市的人員進(jìn)行管理,并且可以在進(jìn)貨和銷售商品進(jìn)行進(jìn)一步的審查登記。超市需要處理大量的庫存信息,還要時刻更新產(chǎn)品的銷售信息,不斷添加商品信息。面對不同種類的信息,需要合理的數(shù)據(jù)庫結(jié)構(gòu)來保存數(shù)據(jù)信息,需要有效的程序結(jié)構(gòu)支持各種數(shù)據(jù)操作的執(zhí)行。讓管理人員對超市的進(jìn)貨情況、銷售情況和庫存情況了如指掌,進(jìn)而能更好的對商品進(jìn)行調(diào)度??梢约哟笕肆ぷ鞯男屎蜕唐返倪M(jìn)出貨效率并且可以減輕使用者繁雜的工作。系統(tǒng)實(shí)現(xiàn)后,大大提高超市的管理水平

18、。降低誤差,減少開銷。如今手機(jī)支付越來越普遍,一鍵支付已經(jīng)成為潮流,便捷支付成為了人們的習(xí)慣,超市的自助購物一定會受到消費(fèi)者的歡迎。5、技術(shù)路線管理系統(tǒng)前臺采用java進(jìn)行界面制作,后臺由sqlserver、mysql或者Oracle數(shù)據(jù)庫支持(視超市規(guī)模,數(shù)據(jù)大小定),通過java圖形界面語言實(shí)現(xiàn)界面制作,實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)通過JDBC達(dá)到對數(shù)據(jù)庫的操作以完成使用者的要求。使用自助購物機(jī),通過RFID技術(shù)掃二維碼,系統(tǒng)內(nèi)部生成貨物清單,再通過二維碼生成器生成付款二維碼。6、創(chuàng)新性消費(fèi)者在購買商品時可以通過掃碼自助結(jié)賬,自行確認(rèn)購物清單,不需要等

19、待營業(yè)員的掃碼,方便快捷;同時可以分散超市人工支付平臺的人流量,節(jié)省消費(fèi)者時間;操作流程簡單快捷,消費(fèi)者容易學(xué)會,熟悉以后會被消費(fèi)者慢慢適應(yīng)。實(shí) 驗(yàn) 報 告 第 14 周實(shí) 驗(yàn) 名 稱實(shí)驗(yàn)3 移動互聯(lián)網(wǎng)應(yīng)用開發(fā)實(shí)驗(yàn)性質(zhì)必修實(shí)驗(yàn)類型開發(fā)實(shí)驗(yàn)課時4實(shí)驗(yàn)日期、時間12.10實(shí)驗(yàn)消耗器材臺式計算機(jī)實(shí)驗(yàn)儀器設(shè)備Intel Core i3 CPU,硬盤500G,Window 7操作系統(tǒng),MyEclipse 6.5, SQL Server 2005實(shí)驗(yàn)?zāi)康倪M(jìn)行設(shè)計及編碼,實(shí)現(xiàn)移動互聯(lián)網(wǎng)應(yīng)用實(shí)驗(yàn)項目。實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)原理、運(yùn)用的理論知識和數(shù)據(jù)、算法、程序、步驟和方法)一、 MyEclipse6.5下java代碼

20、的編寫1、 代碼設(shè)計a、java代碼將java代碼分為三層,第一層為界面層,為用戶的使用提供窗口;第二層為模型層,界面通過調(diào)用模型進(jìn)行界面顯示;第三層為映射層,對數(shù)據(jù)庫內(nèi)的表格進(jìn)行映射,進(jìn)行數(shù)據(jù)的查詢與更新操作。界面層中的類通過繼承JFrame類和JDialog類,設(shè)計出整個界面的樣式;通過按鈕和文本框?qū)?shù)據(jù)進(jìn)行操作以及窗口間的切換;通過JDBC技術(shù)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作。模型層中的類通過寫各界面需要用到的模型方法,給界面層提供所需要的樣式模型。映射層通過與數(shù)據(jù)庫中的表進(jìn)行一一映射,每一個屬性對應(yīng)一個字段,方便通過MyEclipse對數(shù)據(jù)庫進(jìn)行操作。b、數(shù)據(jù)庫設(shè)計該項目總共設(shè)計了11個表格

21、,分別為管理員表、經(jīng)理表、員工表、會員表、供應(yīng)商表、商品類型表、進(jìn)貨表、庫存表、商品表、銷售表、記錄表。2、 代碼截選a 員工模型層代碼package typedefModel;import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.text.SimpleDateFormat;import java.util.Vector;import javax.sw

22、ing.table.DefaultTableModel;public class StaffModel public static DefaultTableModel staffModel() / 表頭Vector<String> thvector = new Vector<String>();thvector.add("員工編號");thvector.add("經(jīng)理編號");thvector.add("經(jīng)理職稱");thvector.add("經(jīng)理姓名");thvector.add(&qu

23、ot;員工姓名");thvector.add("性別");thvector.add("身份證號");thvector.add("家庭住址");thvector.add("入職日期");thvector.add("是否在職");/ 表數(shù)據(jù)Vector<Vector<String>> datavector = null;try Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"

24、);Connection connection = DriverManager.getConnection("jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=sj", "sa","sasa");String sql = "select sid,staff.mid,mjob,mname,sname,ssex,scard,sadress,sdate,svalue from staff left join manager on manager.mid=staff.mid"Prepa

25、redStatement ps = connection.prepareStatement(sql);ResultSet rs = ps.executeQuery();datavector = new Vector<Vector<String>>();while (rs.next() Vector<String> vector = new Vector<String>();vector.add(rs.getInt(1) + "");/ 員工編號vector.add(rs.getInt(2)+"");/經(jīng)理編

26、號vector.add(rs.getString(3);/ 經(jīng)理職位vector.add(rs.getString(4);/ 經(jīng)理姓名vector.add(rs.getString(5);/員工姓名vector.add(rs.getInt(6) = 0 ? "女" : "男");/ 性別vector.add(rs.getString(7);/ 身份證號vector.add(rs.getString(8);/ 住址/ 入職日期Date date = rs.getDate(9);SimpleDateFormat sdf = new SimpleDateFor

27、mat("yyyy-MM-dd");String dateString = sdf.format(date);vector.add(dateString);vector.add(rs.getInt(10) = 0 ? "否" : "是");/ 在職情況datavector.add(vector); catch (Exception e) e.printStackTrace();DefaultTableModel managerModel = new DefaultTableModel(datavector,thvector);retu

28、rn managerModel;B:員工映射層代碼package view;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.sql.Con

29、nection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Vector;import javax

30、.swing.JButton;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTab

31、leModel;import pojo.Manager;import typedefModel.ManagerModel;import typedefModel.StaffModel;public class StaffView extends JDialog / 界面private JScrollPane pane = new JScrollPane();private JTable table = new JTable();/ 按鈕private JButton addButton = new JButton("添加");private JButton updateBu

32、tton = new JButton("修改");private JButton selButton = new JButton("查詢");private JButton rfreshlButton = new JButton("刷新");/ 查詢private JLabel manageridLabel = new JLabel("經(jīng)理編號");private JComboBox manageridBox = new JComboBox();private JLabel mjobLabel = new JLab

33、el("經(jīng)理職稱");/ 經(jīng)理職稱private JLabel mnameLabel = new JLabel("經(jīng)理姓名");/ 經(jīng)理姓名private JLabel nameLabel = new JLabel("員工姓名:");private JTextField nameField = new JTextField();private JLabel sexLabel = new JLabel("性 別:");private JComboBox sexBox = new JComboBox();private

34、 JLabel valueLabel = new JLabel("在職情況:");private JComboBox valueBox = new JComboBox();private JLabel dateLabel = new JLabel("入職時間:");private JComboBox byearBox = new JComboBox();private JComboBox bmonthBox = new JComboBox();private JComboBox bdayBox = new JComboBox();private JLab

35、el bnian = new JLabel("年");private JLabel byue = new JLabel("月");private JLabel bri = new JLabel("日");private JLabel zhi = new JLabel("至");private JComboBox eyearBox = new JComboBox();private JComboBox emonthBox = new JComboBox();private JComboBox edayBox = ne

36、w JComboBox();private JLabel enian = new JLabel("年");private JLabel eyue = new JLabel("月");private JLabel eri = new JLabel("日");/ 修改private JLabel manageridLabel2 = new JLabel("經(jīng)理編號:");private JComboBox manageridBox2 = new JComboBox();private JLabel mjobLabel2

37、 = new JLabel("經(jīng)理職稱");/ 經(jīng)理職稱private JLabel mnameLabel2 = new JLabel("經(jīng)理姓名");/ 經(jīng)理姓名private JLabel nameLabel2 = new JLabel("員工姓名:");private JTextField nameField2 = new JTextField();private JLabel sexLabel2 = new JLabel("性 別:");private JComboBox sexBox2 = new JCo

38、mboBox();private JLabel cardLabel = new JLabel("身份證號:");private JTextField cardField = new JTextField();private JLabel adressLabel = new JLabel("家庭住址:");private JTextField adressField = new JTextField();private JLabel valueLabel2 = new JLabel("在職情況:");private JComboBox

39、valueBox2 = new JComboBox();public StaffView() this.setTitle("員工管理");this.setSize(800, 600);this.setLocationRelativeTo(null);this.setLayout(null);/ 關(guān)閉鍵setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);addWindowListener(new WindowAdapter() Overridepublic void windowClosing(WindowEvent arg0) dis

40、pose(););/ 按鈕設(shè)置selButton.setBounds(720, 10, 60, 20);addButton.setBounds(720, 40, 60, 20);updateButton.setBounds(720, 540, 60, 20);rfreshlButton.setBounds(720, 510, 60, 20);add(selButton);add(addButton);add(updateButton);add(rfreshlButton);/ 修改設(shè)置nameLabel2.setBounds(160, 510, 100, 20);sexLabel2.setBo

41、unds(260, 510, 100, 20);cardLabel.setBounds(370, 510, 140, 20);adressLabel.setBounds(520, 510, 100, 20);valueLabel2.setBounds(630, 510, 100, 20);add(nameLabel2);add(sexLabel2);add(cardLabel);add(adressLabel);add(valueLabel2);/ 經(jīng)理編號manageridLabel2.setBounds(10, 510, 100, 20);manageridBox2.setBounds(1

42、0, 540, 50, 20);try Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection connection = DriverManager.getConnection("jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=sj", "sa","sasa");String sql = "select mid,mjob,mname from manager"Prep

43、aredStatement ps = connection.prepareStatement(sql);ResultSet rs = ps.executeQuery();manageridBox2.addItem("");while (rs.next() Manager manager = new Manager();manager.setMid(rs.getInt(1);manager.setMjob(rs.getString(2);manager.setMname(rs.getString(3);manageridBox2.addItem(manager.getMid(

44、); catch (Exception e1) e1.printStackTrace();mjobLabel2.setBounds(80, 510, 60, 20);mnameLabel2.setBounds(80, 540, 60, 20);add(mjobLabel2);add(mnameLabel2);add(manageridLabel2);add(manageridBox2);nameField2.setBounds(160, 540, 80, 20);add(nameField2);sexBox2.setBounds(260, 540, 40, 20);add(sexBox2);s

45、exBox2.addItem("");sexBox2.addItem("男");sexBox2.addItem("女");cardField.setBounds(340, 540, 150, 20);add(cardField);adressField.setBounds(510, 540, 110, 20);add(adressField);valueBox2.setBounds(640, 540, 40, 20);valueBox2.addItem("");valueBox2.addItem("是&q

46、uot;);valueBox2.addItem("否");add(valueBox2);/ 查詢設(shè)置/ 經(jīng)理編號manageridLabel.setBounds(10, 10, 60, 20);manageridBox.setBounds(80, 10, 50, 20);try Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection connection = DriverManager.getConnection("jdbc:sqlserver:/127.

47、0.0.1:1433;DatabaseName=sj", "sa","sasa");String sql = "select mid,mjob,mname from manager"PreparedStatement ps = connection.prepareStatement(sql);ResultSet rs = ps.executeQuery();manageridBox.addItem("");while (rs.next() Manager manager = new Manager();m

48、anager.setMid(rs.getInt(1);manager.setMjob(rs.getString(2);manager.setMname(rs.getString(3);manageridBox.addItem(manager.getMid(); catch (Exception e1) e1.printStackTrace();add(manageridLabel);add(manageridBox);mjobLabel.setBounds(150, 10, 60, 20);mnameLabel.setBounds(220, 10, 60, 20);add(mjobLabel)

49、;add(mnameLabel);/ 顯示經(jīng)理編號和姓名String id2 = (String) manageridBox2.getSelectedItem();manageridBox2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) if (manageridBox2.getSelectedItem() = "") mjobLabel2.setText("經(jīng)理職稱");mnameLabel2.setText("經(jīng)理姓名

50、");add(mjobLabel2);add(mnameLabel2); else int id2 = (Integer) manageridBox2.getSelectedItem();try Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection connection = DriverManager.getConnection("jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=sj","sa"

51、, "sasa");String sql = "select mjob,mname from manager where mid=?"PreparedStatement ps = connection.prepareStatement(sql);ps.setObject(1, id2);ResultSet rs = ps.executeQuery();while (rs.next() mjobLabel2.setText(rs.getString(1);mnameLabel2.setText(rs.getString(2);add(mjobLabel2)

52、;add(mnameLabel2); catch (Exception e) e.printStackTrace(););/ 員工姓名nameLabel.setBounds(320, 10, 60, 20);nameField.setBounds(390, 10, 80, 20);add(nameLabel);add(nameField);/ 性別sexLabel.setBounds(520, 10, 60, 20);sexBox.setBounds(590, 10, 50, 20);add(sexLabel);add(sexBox);/ 在職情況valueLabel.setBounds(10

53、, 40, 60, 20);valueBox.setBounds(80, 40, 50, 20);add(valueBox);add(valueLabel);/ 日期標(biāo)簽及選框dateLabel.setBounds(150, 40, 60, 20);add(dateLabel);byearBox.setBounds(220, 40, 60, 20);bnian.setBounds(280, 40, 20, 20);add(byearBox);add(bnian);bmonthBox.setBounds(310, 40, 40, 20);byue.setBounds(350, 40, 20, 2

54、0);add(bmonthBox);add(byue);bdayBox.setBounds(380, 40, 40, 20);bri.setBounds(420, 40, 20, 20);add(bdayBox);add(bri);/ 至zhi.setBounds(445, 40, 20, 20);add(zhi);eyearBox.setBounds(460, 40, 60, 20);enian.setBounds(520, 40, 20, 20);add(eyearBox);add(enian);emonthBox.setBounds(550, 40, 40, 20);eyue.setBounds(590, 40, 20, 20);add(emonthBox);add(eyue);edayBox.setBounds(620, 40, 40, 20);eri.setBounds(660, 40, 20, 20);add(edayBox);add(eri);/ 顯示經(jīng)理編號和姓名String id = (String) manageridBox.getSelectedItem();manageridBox.addActionListener(new ActionListener() public void a

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論