版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 沈 陽(yáng) 工 程 學(xué) 院</p><p><b> 課 程 設(shè) 計(jì)</b></p><p> 設(shè)計(jì)題目: 火車票管理系統(tǒng) </p><p> 系 別 信息工程系 班級(jí) 網(wǎng)絡(luò)本101 </p><p> 學(xué)生姓名 劉雨嬌
2、金兆寧 姚宇 夏林 </p><p> 學(xué) 號(hào) 02 13 19 24 </p><p> 指導(dǎo)教師 孫憲麗 、楊弘平 職稱 副教授 、副教授 </p><p> 起止日期:2012年12月3日起——至2012年12月7日止</p><p>
3、沈 陽(yáng) 工 程 學(xué) 院</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 課程設(shè)計(jì)題目: 火車票管理系統(tǒng) </p><p> 系 別 信息工程系 班級(jí) 網(wǎng)絡(luò)本101</p><p> 學(xué)生姓名 劉雨嬌 金兆寧 姚宇 夏林
4、 </p><p> 學(xué) 號(hào) 02 13 19 24 </p><p> 指導(dǎo)教師 孫憲麗、楊弘平 職稱 副教授 、副教授</p><p> 課程設(shè)計(jì)進(jìn)行地點(diǎn): 實(shí)訓(xùn)F </p><p> 任 務(wù) 下 達(dá) 時(shí) 間
5、: 2012 年 12 月 3 日</p><p> 起止日期: 2012年12月3日起—至2012年12月7日止</p><p> 教研室主任 年 月 日批準(zhǔn)</p><p> 設(shè)計(jì)的原始資料及依據(jù)</p><p> 查閱有關(guān)數(shù)據(jù)庫(kù)設(shè)計(jì)、Java語(yǔ)言程序設(shè)計(jì)以及案例分析
6、等資料,進(jìn)一步熟悉面向?qū)ο蟪绦蛟O(shè)計(jì)基本理論以及基本思想。本設(shè)計(jì)要求按照軟件工程、數(shù)據(jù)庫(kù)設(shè)計(jì)思想及設(shè)計(jì)步驟設(shè)計(jì)一個(gè)實(shí)用程序,并采用Java開(kāi)發(fā)該系統(tǒng)。通過(guò)本設(shè)計(jì)可以加深對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)基本思想的理解,加強(qiáng)學(xué)生研發(fā)、調(diào)試程序的能力,培養(yǎng)學(xué)生分析、解決問(wèn)題的能力,提高學(xué)生的科技寫作能力。</p><p> 2.設(shè)計(jì)的主要內(nèi)容及要求</p><p> (1)寫出系統(tǒng)的需求分析。</p&
7、gt;<p> (2)寫出系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程,包括概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。</p><p> (數(shù)據(jù)庫(kù)應(yīng)用程序管理系統(tǒng)類設(shè)計(jì)詳細(xì)寫,其它類設(shè)計(jì)可以略)</p><p> (3)寫出系統(tǒng)設(shè)計(jì)思路—工作原理、功能規(guī)劃。</p><p> (4)詳細(xì)設(shè)計(jì)—數(shù)據(jù)分析、算法思路、類設(shè)計(jì)、功能實(shí)現(xiàn)(包括程序流程圖、主要代碼及注釋)、界面
8、等。</p><p> (5)運(yùn)行調(diào)試與分析討論--給出運(yùn)行屏幕截圖,分析運(yùn)行結(jié)果,有何改進(jìn)等。</p><p> 3.對(duì)設(shè)計(jì)說(shuō)明書撰寫內(nèi)容、格式、字?jǐn)?shù)的要求</p><p> (1)學(xué)生應(yīng)撰寫的內(nèi)容為:中文摘要和關(guān)鍵詞、目錄、正文、參考文獻(xiàn)等。課程設(shè)計(jì)說(shuō)明書(論文)的結(jié)構(gòu)及各部分內(nèi)容要求參照《沈陽(yáng)工程學(xué)院畢業(yè)設(shè)計(jì)(論文)撰寫規(guī)范》執(zhí)行。應(yīng)做到文理通順,內(nèi)容正
9、確完整,書寫工整,裝訂整齊。</p><p><b> (2)裝訂格式:</b></p><p> 封面、任務(wù)書、成績(jī)?cè)u(píng)審意見(jiàn)表、中文摘要和關(guān)鍵詞、目錄、正文、結(jié)論、致謝、參考文獻(xiàn)。</p><p> (3)課程設(shè)計(jì)說(shuō)明書(論文)是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,一般不應(yīng)少于3000字。</p><p> 4. 設(shè)
10、計(jì)完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求</p><p> (1)每組提交一份課程設(shè)計(jì)報(bào)告。</p><p> (2)每組提交一份課程設(shè)計(jì)成品。</p><p><b> 5.時(shí)間進(jìn)度安排</b></p><p> 6.主要參考資料(文獻(xiàn))</p><p> [1] 耿詳義.JA
11、VA2教程.北京:清華大學(xué)出版社,2004。</p><p> [2]張仿彥.JAVA項(xiàng)目開(kāi)發(fā)全程實(shí)錄.北京:清華大學(xué)出版社,2007。</p><p> [3] 楊小虎.軟件工程課程設(shè)計(jì).浙江:浙江大學(xué)出版社,2007。</p><p> [4] 韓萬(wàn)江.軟件工程案例教程.北京:機(jī)械工業(yè)出版社,2007。</p><p> [5]
12、薩師煊,王珊著.數(shù)據(jù)庫(kù)系統(tǒng)概論.北京:高等教育出版社,2003。</p><p> 沈 陽(yáng) 工 程 學(xué) 院</p><p> 面向?qū)ο蟪绦蛟O(shè)計(jì) 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表</p><p> 系(部): 信息工程系 班級(jí): 網(wǎng)絡(luò)本101 學(xué)生姓名: </p><p><b> 摘 要</b
13、></p><p> 隨著Internet和Intranet技術(shù)的發(fā)展,人們對(duì)網(wǎng)絡(luò)信息的需求越來(lái)越大,對(duì)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的交互和查詢速度等性能的要求也越來(lái)越高。未來(lái)火車站的發(fā)展趨勢(shì)是完全自動(dòng)化的售票信息查詢,網(wǎng)絡(luò)訂票,智能化訂票,而且隨著計(jì)算機(jī)的普及,信息處理量的逐漸擴(kuò)大,手工處理方式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足人們管理活動(dòng)的需要,各種工作都逐漸由手工轉(zhuǎn)為自動(dòng)化,將使許多復(fù)雜、繁瑣、且需要很多人力的工作變得簡(jiǎn)單?;疖囌臼燮?/p>
14、管理是本系統(tǒng)的根本任務(wù),通過(guò)實(shí)現(xiàn)票務(wù)信息的計(jì)算機(jī)管理,以提高工作效率。實(shí)現(xiàn)計(jì)算機(jī)管理的最佳技術(shù)就是數(shù)據(jù)庫(kù)技術(shù)。我們可以利用數(shù)據(jù)庫(kù)將整個(gè)火車站的票務(wù)情況存入計(jì)算機(jī),再配置上功能豐富的用戶接口,以滿足用戶需求。 </p><p> 基于這樣的背景并考慮到一定的實(shí)際意義及于我們將實(shí)踐與理論結(jié)合起來(lái),我們組在這次課設(shè)中選擇了“火車售票管理系統(tǒng)”。在這次課設(shè)中我們使用Java技術(shù)來(lái)開(kāi)發(fā)該火車票管理系統(tǒng)。因而在本報(bào)告中介紹
15、了系統(tǒng)的開(kāi)發(fā)環(huán)境以及開(kāi)發(fā)工具,對(duì)Java在系統(tǒng)上的應(yīng)用設(shè)計(jì)思想做了一個(gè)全面的敘述,對(duì)于系統(tǒng)中數(shù)據(jù)庫(kù)中的數(shù)據(jù)表之間的具體關(guān)聯(lián)等方面也做出了詳細(xì)說(shuō)明,并且具體講述了系統(tǒng)各個(gè)功能模塊的設(shè)計(jì)以及實(shí)現(xiàn)過(guò)程。</p><p> 關(guān)鍵詞 火車售票管理系統(tǒng) Java技術(shù) 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)</p><p><b> 目 錄</b></p><p>&l
16、t;b> 摘要I</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 項(xiàng)目背景1</p><p> 1.2 編寫目的1</p><p> 1.3 開(kāi)發(fā)環(huán)境1</p><p> 1.3.1 硬件環(huán)境1</p>&
17、lt;p> 1.3.2 軟件環(huán)境1</p><p> 第2章 系統(tǒng)功能介紹3</p><p> 2.1 系統(tǒng)功能總框圖3</p><p> 2.2 模塊功能介紹3</p><p> 2.2.1 系統(tǒng)登錄3</p><p> 2.2.2 管理員登錄3</p><p>
18、 2.2.3 普通用戶登錄4</p><p> 2.3組內(nèi)任務(wù)分工4</p><p> 第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)5</p><p> 3.1 數(shù)據(jù)庫(kù)需求分析5</p><p> 3.2 數(shù)據(jù)流圖5</p><p> 3.3 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)6</p><p> 3.4 數(shù)據(jù)
19、庫(kù)表的設(shè)計(jì)7</p><p> 第4章 系統(tǒng)功能實(shí)現(xiàn)10</p><p> 4.1 登陸系統(tǒng)10</p><p> 4.2 管理員系統(tǒng)11</p><p> 4.2.1 用戶管理11</p><p> 4.2.2 票務(wù)管理20</p><p> 4.3 普通用戶登錄21
20、</p><p> 4.3.1 查詢21</p><p> 4.3.2 售票27</p><p><b> 結(jié)論31</b></p><p><b> 致謝32</b></p><p><b> 參考文獻(xiàn)33</b></p>
21、;<p><b> 第1章 緒論</b></p><p> 信息社會(huì)的高科技,商品經(jīng)濟(jì)的高效益,使計(jì)算機(jī)的應(yīng)用普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。計(jì)算機(jī)與人類的關(guān)系愈來(lái)愈密切,計(jì)算機(jī)操作為人們帶了越來(lái)越多的便利。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,火車票管理系統(tǒng)將會(huì)為人們帶來(lái)極大的方便。</p><p><b> 1.1 項(xiàng)目背景<
22、/b></p><p> 在火車大力普及的今天,一個(gè)火車站售票信息管理系統(tǒng)應(yīng)達(dá)到的目標(biāo)是提供及時(shí)、廣泛的信息服務(wù),加快信息檢索的效率,實(shí)況靈活的查詢,減輕管理人員制作報(bào)表和統(tǒng)計(jì)分析的負(fù)擔(dān),且系統(tǒng)規(guī)模不太大但又要保證支持日常工作的要求,以便系統(tǒng)應(yīng)易于擴(kuò)充,方便日后統(tǒng)一聯(lián)網(wǎng)與管理,提高管理水平。根據(jù)以上的設(shè)計(jì)目標(biāo)和要求,本設(shè)計(jì)用Java編程語(yǔ)言結(jié)合微軟的Access數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā),主要完成查詢、售票、及對(duì)票務(wù)
23、和用戶進(jìn)行管理等功能。其實(shí)火車售票系統(tǒng)用計(jì)算機(jī)管理火車站票務(wù)信息的一種計(jì)算機(jī)應(yīng)用技術(shù)的創(chuàng)新,在計(jì)算機(jī)還未普及之前售票業(yè)務(wù)都是由工作人員人工完成的、查詢方式來(lái)操作的。現(xiàn)在一般的車站售票業(yè)務(wù)都采用計(jì)算機(jī)智能化管理,采用計(jì)算機(jī)作為工具的實(shí)用的計(jì)算機(jī)訂單管理程序來(lái)幫助前臺(tái)管理員進(jìn)行更有效的車票業(yè)務(wù)查詢,出售管理工作?;疖囀燮惫芾硐到y(tǒng)是典型的信息管理系統(tǒng)(MIS):其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建
24、立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 經(jīng)過(guò)分析:我們使用Java編程語(yǔ)言開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其</p><p><b> 1.2 編寫目的</b></p><p> 電腦的漸漸普及,以及互聯(lián)網(wǎng)所容納的信息量大、內(nèi)容豐富、信息及時(shí)、準(zhǔn)確,更有相關(guān)信息的全面介紹與比較。為了人們?cè)诨疖囌?/p>
25、購(gòu)買車票以及售票員對(duì)車票的、管理、查詢以及相應(yīng)的操作變的簡(jiǎn)單,開(kāi)發(fā)這樣一個(gè)火車票管理系統(tǒng)成為很有必要的事情。</p><p><b> 1.3 開(kāi)發(fā)環(huán)境</b></p><p> 1.3.1 硬件環(huán)境</p><p><b> PC機(jī)。</b></p><p> 1.3.2 軟件環(huán)境<
26、/p><p> ⑴ 操作系統(tǒng):Windows XP</p><p> ?、?開(kāi)發(fā)工具:Eclipse</p><p> Eclipse是著名的跨平臺(tái)的自由集成開(kāi)發(fā)環(huán)境(IDE)。最初主要用來(lái)Java語(yǔ)言開(kāi)發(fā),但是目前亦有人通過(guò)插件使其作為C++、Python、PHP等其他語(yǔ)言的開(kāi)發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持,使得Eclipse擁有
27、較佳的靈活性。許多軟件開(kāi)發(fā)商以Eclipse為框架開(kāi)發(fā)自己的IDE。</p><p> Eclipse采用的技術(shù)是IBM公司開(kāi)發(fā)的(SWT),這是一種基于Java的窗口組件,類似Java本身提供的AWT和Swing窗口組件;不過(guò)IBM聲稱SWT比其他Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,從而簡(jiǎn)化了基于SWT的應(yīng)用程序的構(gòu)建。</p><p>
28、 Eclipse的設(shè)計(jì)思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本內(nèi)核包括:圖形API (SWT/Jface), Java開(kāi)發(fā)環(huán)境插件(JDT),插件開(kāi)發(fā)環(huán)境(PDE)等。</p><p> ?、?數(shù)據(jù)庫(kù):Microsoft Access2003</p><p> Access 是微軟公司推出的基于Windows的
29、桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊7種用來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種向?qū)А⑸善?、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。 </p><p> Access是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其主要特點(diǎn)如下: <
30、;/p><p> 1) 存儲(chǔ)方式單一 </p><p> Access管理的對(duì)象有表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊,以上對(duì)象都存放在后綴為(.mdb)的數(shù)據(jù)庫(kù)文件種,便于用戶的操作和管理。 </p><p><b> 2) 面向?qū)ο?</b></p><p> Access是一個(gè)面向?qū)ο蟮拈_(kāi)發(fā)工具,利用面向?qū)ο蟮姆?/p>
31、式將數(shù)據(jù)庫(kù)系統(tǒng)中的各種功能對(duì)象化,將數(shù)據(jù)庫(kù)管理的各種功能封裝在各類對(duì)象中。它將一個(gè)應(yīng)用系統(tǒng)當(dāng)作是由一系列對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和外國(guó),用戶還可以按需要給對(duì)象擴(kuò)展方法和屬性。通過(guò)對(duì)象的方法、屬性完成數(shù)據(jù)庫(kù)的操作和管理,極大地簡(jiǎn)化了用戶的開(kāi)發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_(kāi)發(fā)方式,使得開(kāi)發(fā)應(yīng)用程序更為簡(jiǎn)便。 </p><p> 3)界面友好、易操作 </p>
32、<p> Access是一個(gè)可視化工具,是風(fēng)格與Windows完全一樣,用戶想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫(kù)向?qū)?、表向?qū)?、查詢向?qū)?、窗體向?qū)?、?bào)表向?qū)У裙ぞ撸沟貌僮骱?jiǎn)便,容易使用和掌握。 </p><p> 4)集成環(huán)境、處理多種數(shù)據(jù)信息 </p><p> Access基于Windows操
33、作系統(tǒng)下的集成開(kāi)發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,極大地提高了開(kāi)發(fā)人員的工作效率,使得建立數(shù)據(jù)庫(kù)、創(chuàng)建表、設(shè)計(jì)用戶界面、設(shè)計(jì)數(shù)據(jù)查詢、報(bào)表打印等可以方便有序地進(jìn)行。 </p><p> 5)Access支持ODBC(開(kāi)發(fā)數(shù)據(jù)庫(kù)互連,Open Data Base Connectivity),利用Access強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的聯(lián)接和嵌入)特性,可以在一個(gè)數(shù)據(jù)表中嵌入位圖、聲音、Ex
34、cel表格、Word文檔,還可以建立動(dòng)態(tài)的數(shù)據(jù)庫(kù)報(bào)表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動(dòng)態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫(kù)訪問(wèn)頁(yè)對(duì)象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。</p><p> 第2章 系統(tǒng)功能介紹</p><p> 2.1 系統(tǒng)功能總框圖</p><p> 系統(tǒng)功能分析是在系統(tǒng)開(kāi)發(fā)的總體任務(wù)的基礎(chǔ)上完成
35、。根據(jù)系統(tǒng)分析確定的邏輯模型,確定新系統(tǒng)的物理模型,即計(jì)算機(jī)化信息系統(tǒng)應(yīng)用軟件的總體結(jié)構(gòu)和數(shù)據(jù)庫(kù)設(shè)計(jì),并提出系統(tǒng)配置方案,繼而對(duì)物理模型進(jìn)行詳細(xì)的設(shè)計(jì)。主要內(nèi)容有:代碼設(shè)計(jì),用戶界面設(shè)計(jì),處理過(guò)程設(shè)計(jì),編寫系統(tǒng)設(shè)計(jì)說(shuō)明書。</p><p> 系統(tǒng)設(shè)計(jì)是以系統(tǒng)分析為基礎(chǔ),而系統(tǒng)設(shè)計(jì)又是系統(tǒng)實(shí)施的基礎(chǔ),系統(tǒng)設(shè)計(jì)的主要任務(wù)是代碼設(shè)計(jì)、物理設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、功能結(jié)構(gòu)圖設(shè)計(jì)。本火車票管理系統(tǒng)功能包括用戶登錄、用戶信息管理
36、、火車票信息管理、火車票信息查詢等如圖2.1所示。</p><p> 圖2.1 系統(tǒng)功能圖</p><p> 2.2 模塊功能介紹</p><p> 2.2.1 系統(tǒng)登錄</p><p> 火車票管理系統(tǒng)可以分為2種登錄方式登錄系統(tǒng),分別為管理員、普通用戶??紤]到數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全性和用戶的權(quán)益,該系統(tǒng)采用“用戶標(biāo)識(shí)”和“口令”相結(jié)合
37、的數(shù)據(jù)庫(kù)安全技術(shù),并通過(guò)自動(dòng)認(rèn)證用戶的“權(quán)限”來(lái)判斷用戶應(yīng)該登陸到的界面。其中管理員使用密碼登錄可以直接登錄到管理系統(tǒng),進(jìn)行火車票信息和用戶信息進(jìn)行管理;普通用戶使用密碼登錄到用戶界面,可以在對(duì)火車票查詢的基礎(chǔ)上對(duì)乘客所要求買的車票信息進(jìn)行查詢和填寫以及火車票記錄的打印等操作。</p><p> 2.2.2 管理員登錄</p><p> 管理員是該火車售票系統(tǒng)數(shù)據(jù)的直接管理者,他對(duì)該系
38、統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)享有所有的權(quán)限。針對(duì)這一點(diǎn),管理員管理界面包含了“用戶管理”、“票務(wù)管理”以及“系統(tǒng)幫助”三個(gè)選項(xiàng)。</p><p><b> (1)用戶管理</b></p><p> 用戶管理界面是管理員才能進(jìn)入的界面,在該窗口中,管理員可以對(duì)使用該系統(tǒng)的用戶進(jìn)行管理,具體包括“查找用戶”、“增加用戶”、“刪除用戶”、“修改用戶”等功能,并將各個(gè)子功能的結(jié)果顯示
39、在窗口左邊的顯示區(qū)域內(nèi),初次登陸此界面時(shí)顯示區(qū)域內(nèi)的信息是所有用戶的信息。通過(guò)該模塊的功能,管理員可以很方便的對(duì)使用該系統(tǒng)的用戶進(jìn)行管理。</p><p><b> ?。?)票務(wù)管理</b></p><p> 顧名思義“票務(wù)管理”就是對(duì)火車票進(jìn)行的管理,在此模塊中我們可以進(jìn)行“所有票數(shù)”、“賣出票數(shù)”等的預(yù)覽。運(yùn)行界面如圖2.2所示。</p><
40、p> 圖2.2“票務(wù)管理”窗口</p><p> 2.2.3 普通用戶登錄</p><p> 在這個(gè)功能模塊里普通用戶即售票員可以進(jìn)行火車及或火車票的信息進(jìn)行查詢及售票。查詢子功能中可以“按車次查詢”,也可以“按車站查詢”;在售票子功能中選擇好車票相關(guān)信息后并核對(duì)確認(rèn)好乘客需要次車票后可以可預(yù)覽車票信息;如果乘客需要數(shù)據(jù)單,則可以點(diǎn)擊“打印”來(lái)打印數(shù)據(jù)單。</p>
41、<p><b> 查詢:</b></p><p> “查詢”功能中的“按車次查詢”和“按車站查詢”思想相差無(wú)幾,這里我們重點(diǎn)說(shuō)明“按車次查詢”。如現(xiàn)在乘客詢問(wèn)“T1”的火車具體信息及車票信息或者是購(gòu)買“T1”的車票,售票員便在“火車票”窗口選擇“按車次查詢”,然后在“車次”一欄中輸入“T1”以及選擇好日期以后點(diǎn)擊“查詢”便會(huì)出發(fā)相應(yīng)的查詢事件即將“車次”和“日期”傳遞給查詢語(yǔ)
42、句后將數(shù)據(jù)庫(kù)中各個(gè)表中的相關(guān)信息查詢出來(lái)顯示在“火車票”窗口相應(yīng)的地方,具體包括始發(fā)站、終點(diǎn)站、發(fā)車時(shí)間、剩余票數(shù)、單價(jià)等信息。</p><p><b> 售票:</b></p><p> 在用戶選定了需要的票之后,點(diǎn)擊確定按鈕之后,會(huì)彈出電子票窗口。在購(gòu)票成功之后,需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作,這就是售票系統(tǒng)的主要功能。</p><p>
43、2.3 組內(nèi)任務(wù)分工</p><p> 表2.1 組內(nèi)任務(wù)分工</p><p><b> 第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 火車票管理系統(tǒng)是一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),各類數(shù)據(jù)的所有信息都是保存在數(shù)據(jù)庫(kù)中。在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)進(jìn)程中,數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)是一個(gè)非常重要的問(wèn)題。我們這里所說(shuō)的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)是指數(shù)據(jù)庫(kù)中各個(gè)表結(jié)構(gòu)的設(shè)計(jì),包括
44、信息保存在哪個(gè)表格中,各個(gè)表的結(jié)構(gòu)如何以及各個(gè)表之間的關(guān)系如何等。</p><p> 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響,好的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)會(huì)減少數(shù)據(jù)庫(kù)的存儲(chǔ)量,數(shù)據(jù)庫(kù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,簡(jiǎn)化基于數(shù)據(jù)庫(kù)的應(yīng)用程序的實(shí)現(xiàn)等。</p><p> 由數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性,人們提出了許多數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的技術(shù)。但是這些設(shè)計(jì)方法和設(shè)計(jì)者的工作
45、經(jīng)驗(yàn)有很大關(guān)系。因此要從根本上解決所有數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的問(wèn)題,就需要多實(shí)踐,在實(shí)踐中積累經(jīng)驗(yàn)和教訓(xùn),最終成為數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的專家。</p><p> 3.1 數(shù)據(jù)庫(kù)需求分析</p><p> 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的一個(gè)非常重要的階段就是數(shù)據(jù)庫(kù)需求分析階段。在這個(gè)階段主要是收集基本數(shù)據(jù)以及數(shù)據(jù)處理流程,為以后進(jìn)一步設(shè)計(jì)打下基礎(chǔ)。需求分析主要解決兩個(gè)問(wèn)題:</p><p>
46、 內(nèi)容要求:調(diào)查應(yīng)用系統(tǒng)用戶所操作的數(shù)據(jù),決定的數(shù)據(jù)庫(kù)中存儲(chǔ)什么數(shù)據(jù)。</p><p> 處理要求:調(diào)查應(yīng)用系統(tǒng)用戶要求對(duì)數(shù)據(jù)進(jìn)行什么樣的處理,理數(shù)據(jù)庫(kù)中的各種數(shù)據(jù)之間的關(guān)系如何。</p><p> 解決這兩個(gè)問(wèn)題的時(shí)候,程序設(shè)計(jì)人員需要向應(yīng)用系統(tǒng)的用戶做詳細(xì)調(diào)查,保證信息收集的完整性,否則有可能后面所做的所有工作都白白浪費(fèi)。</p><p> 現(xiàn)在軟件開(kāi)發(fā)
47、過(guò)程中最常用的需求分析技術(shù)是快速原型法,其實(shí)質(zhì)就是快速建立展示目標(biāo)產(chǎn)品主要功能的軟件,在開(kāi)發(fā)過(guò)程中根據(jù)用戶反饋對(duì)模型不斷修改、完善。因此其最重要的一方面體現(xiàn)在“快速”上,要盡可能快地建立原型。第二個(gè)方面是所構(gòu)造的原型必須可以改變,可以根據(jù)用戶反饋不斷更改、完善。在開(kāi)發(fā)本系統(tǒng)過(guò)程中,基本遵循快速原型法原則,經(jīng)過(guò)初步調(diào)研后,先建立應(yīng)用程序框架,然后根據(jù)與用戶的交流,在原型的基礎(chǔ)上不斷修改、完善,直到最后交付使用。這種方法最大的優(yōu)點(diǎn)是開(kāi)發(fā)周期
48、短、見(jiàn)效快、實(shí)用性強(qiáng)。</p><p> 在此系統(tǒng)中用戶中的管理員需求對(duì)火車和火車票進(jìn)行保存、更新,對(duì)普通用戶進(jìn)行增加、刪除、查詢、修改;普通則要求對(duì)火車票的相關(guān)信息進(jìn)行查詢、打印,將火車票準(zhǔn)確及時(shí)的賣出給乘客。這就需要數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸入與輸出,實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),方便用戶訪問(wèn)系統(tǒng)中的數(shù)據(jù),它與文件系統(tǒng)的重要區(qū)別是數(shù)據(jù)的充分共享,交叉訪問(wèn),與應(yīng)用程序的高度獨(dú)立性。</p&
49、gt;<p><b> 3.2 數(shù)據(jù)流圖</b></p><p> 結(jié)構(gòu)化方法使用數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的變化過(guò)程。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要工具,它表示了系統(tǒng)內(nèi)部信息的流向,并表示了系統(tǒng)的邏輯處理的功能,是一種功能模型。火車票管理系統(tǒng)的數(shù)據(jù)流圖如下圖3.1所示。</p><p><b>
50、圖3.1數(shù)據(jù)流圖</b></p><p> 3.3 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 這一階段是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足需求的各種實(shí)體,以及它們之間的關(guān)系,且為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。</p><p> 這個(gè)階段不用考慮所采用得數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)、機(jī)器類型等問(wèn)題。這個(gè)階段</p><p> 可用的工
51、具很多。用得最多的是E-R圖(Entity-Relation,實(shí)體--關(guān)系圖),另外還有許多計(jì)算機(jī)輔助工具(Computer Aided Software, CASE)可以幫助進(jìn)行設(shè)計(jì)。</p><p> 本系統(tǒng)都是采用E-R圖的方法進(jìn)行數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)的,現(xiàn)在先對(duì)E-R圖的方法進(jìn)行一下簡(jiǎn)單的介紹。</p><p> E-R圖是描述數(shù)據(jù)實(shí)體及其關(guān)系的一種直觀的描述工具。這種圖中有:&
52、lt;/p><p> ⑴ 實(shí)體。用方框表示,方框內(nèi)為實(shí)體名稱。在火車售票系統(tǒng)中的實(shí)體有用戶、車票。</p><p> ?、?實(shí)體的各種屬性。用橢圓表示,橢圓內(nèi)為屬性名稱。使用線段將其和相應(yīng)的實(shí)體連接起來(lái)。概括起來(lái),該系統(tǒng)中各實(shí)體的屬性如下:</p><p> 1) 用戶(用戶名,用戶號(hào)、用戶密碼、用戶權(quán)限);</p><p> 2) 車票(
53、車票號(hào),車票類型,票價(jià));</p><p> 3) 火車(火車號(hào),車型,始發(fā)時(shí)間,始發(fā)站,終點(diǎn)站,途經(jīng)站,運(yùn)行時(shí)間,全程行程);</p><p> 4) 車站(車站號(hào),車站名);</p><p> 5) 車廂(車廂號(hào),類型,總票數(shù),剩余票數(shù));</p><p> 6) 實(shí)體之間的聯(lián)系。用菱形表示,菱形內(nèi)部為聯(lián)系的名稱。</p&g
54、t;<p> 圖3.2 總E-R圖</p><p> 3.4 數(shù)據(jù)庫(kù)表的設(shè)計(jì)</p><p> 在做出數(shù)據(jù)庫(kù)的具體表之前,我們需要有相應(yīng)的概念結(jié)構(gòu)。</p><p> 概念結(jié)構(gòu)是獨(dú)立于實(shí)際數(shù)據(jù)模型的,必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用設(shè)計(jì)。也就是要將上面的數(shù)據(jù)庫(kù)概念轉(zhuǎn)化為Access數(shù)據(jù)庫(kù)所支持的實(shí)際數(shù)據(jù)模型。在上面的實(shí)體與實(shí)體之間關(guān)系
55、的基礎(chǔ)上,形成數(shù)據(jù)庫(kù)中的表格,以及各個(gè)表格之間的關(guān)系。</p><p> 具體關(guān)系模式如下: </p><p> 用戶信息(用戶ID,登錄名,用戶密碼,用戶權(quán)限);</p><p> 車票(票號(hào),車票類型,票價(jià));</p><p> 車站信息(車站號(hào),車站名);</p><p> 車廂信息(車廂編號(hào),火車編號(hào)
56、,類型,座位總數(shù),剩余數(shù)量);</p><p> 火車信息(火車號(hào),車型,始發(fā)時(shí)間,始發(fā)站,終點(diǎn)站,途經(jīng)站,運(yùn)行時(shí)間,全程行程);</p><p> 管理/賣票(票號(hào),火車號(hào));</p><p> “火車票管理系統(tǒng)”的數(shù)據(jù)庫(kù)名稱為Trainticket,數(shù)據(jù)庫(kù)中包含6張表。下面根據(jù)系統(tǒng)的關(guān)系模式分別給出數(shù)據(jù)表概要說(shuō)明和主要數(shù)據(jù)表的結(jié)構(gòu),每個(gè)表格表示數(shù)據(jù)庫(kù)中的一
57、個(gè)表。按照關(guān)系模式可分為Tickettable表描述車票信息(如表3.3所示)、Salesticket表描述賣票聯(lián)系(如表3.4所示)、Brailway表描述車廂信息(如表3.5所示)、Users表描述用戶信息(如表3.6所示)、Trainstage表描述車站信息(如表3.7所示)、Trainstation 表描述火車信息(如表3.8所示)。</p><p> 表3.3 Tickettable表</p&g
58、t;<p> 表3.4 Salesticket 表</p><p> 表3.5 Brailway表</p><p> 表3.6 Users表</p><p> 表3.7 Trainstage 表</p><p> 表3.8 Trainstation表</p><p> 第4章 系統(tǒng)功能實(shí)現(xiàn)&l
59、t;/p><p><b> 4.1 登陸系統(tǒng)</b></p><p> 我們?cè)跀?shù)據(jù)庫(kù)中設(shè)計(jì)了管理員權(quán)限(admin)與普通用戶權(quán)限(user)。通過(guò)判斷輸入的用戶名和密碼判斷權(quán)限,然后登陸系統(tǒng)。登陸界面如圖4.1所示。</p><p><b> 圖4.1 登陸界面</b></p><p><
60、b> 具體代碼實(shí)現(xiàn)如下:</b></p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> Conn conn = new Conn();</p><p> if(e.getSource()=
61、=_jbsub)//提交</p><p><b> {</b></p><p> String username = _jfid.getText().trim();//用戶名</p><p> String userpassword = new String(_jfpass.getPassword()).trim();</p>
62、<p> if(conn.Login(username,userpassword))</p><p><b> {</b></p><p> if(conn.ifadmin(username,userpassword,userpopedom))</p><p><b> {</b></p>
63、<p> dispose();//關(guān)閉該窗口并釋放資源</p><p> JOptionPane.showMessageDialog(this,"歡迎管理員登錄!");</p><p> new Manage(username,userpassword,userpopedom);//管理員管理事物類</p><p><b
64、> }else</b></p><p><b> {</b></p><p> new Trainticket(username,userpassword);//車票查詢及售票類</p><p><b> }</b></p><p> dispose();</p&g
65、t;<p><b> }else{</b></p><p> JOptionPane.showMessageDialog(this,"登錄失敗,請(qǐng)檢查密碼是否正確!");</p><p><b> }</b></p><p><b> }</b></p&
66、gt;<p> if(e.getSource()==_jbcan)//取消</p><p><b> {</b></p><p> System.exit(0);</p><p><b> }</b></p><p><b> }</b></p&g
67、t;<p><b> 4.2 管理員系統(tǒng)</b></p><p> 管理員權(quán)限是火車售票的最高權(quán)限,分為“用戶管理”和“票務(wù)統(tǒng)計(jì)”兩大塊,圖4.2為管理員登陸后的操作界面。</p><p> 圖4.2 管理員界面</p><p> 4.2.1 用戶管理</p><p> 在“用戶管理”模塊下可以進(jìn)
68、行“增加用戶”、“查找用戶”、“刪除用戶”、“修改用戶”操作。如圖4.3所示。</p><p> 圖4.3 用戶管理界面</p><p><b> ?、?查找用戶</b></p><p> 管理員通過(guò)輸入該用戶號(hào)來(lái)查找用戶,如查找用戶號(hào)為2的用戶,其輸入界面如圖4.4所示,運(yùn)行結(jié)果如圖4.5所示。具體實(shí)現(xiàn)思想為:將從輸入界面輸入的用戶號(hào)傳遞
69、給一條用于數(shù)據(jù)庫(kù)數(shù)據(jù)查找的SQL語(yǔ)句-------select語(yǔ)句來(lái)查找出擁有該用戶號(hào)的用戶的信息然后返回給“查找用戶”類最后顯示在“用戶管理”界面。</p><p> 圖4.4 “查找用戶”輸入界面</p><p> 圖4.5 查找用戶運(yùn)行結(jié)果界面</p><p> 查詢用戶信息的代碼如下:</p><p> public Chec
70、kuser(String name,String password,String popedom){</p><p> super("查找用戶");</p><p> _jl = new JLabel("號(hào)碼");</p><p> _jt = new JTextField(10);</p><p&g
71、t; _jb1 = new JButton("提交");</p><p> _jb2 = new JButton("返回");</p><p> jp1= new JPanel();</p><p> jp2= new JPanel();</p><p> username = name;&l
72、t;/p><p> userpassword = password;</p><p> userpopedom = popedom;</p><p> if(conn.ifadmin(username,userpassword,userpopedom))</p><p><b> {</b></p>&
73、lt;p><b> }else{</b></p><p> JOptionPane.showMessageDialog(this,"非法請(qǐng)求!");</p><p> System.exit(0);</p><p><b> }</b></p><p> jp1.
74、add(_jl);</p><p> jp1.add(_jt);</p><p> jp2.add(_jb1);</p><p> jp2.add(_jb2);</p><p> _jb1.addActionListener(this);</p><p> _jb2.addActionListener(thi
75、s);</p><p> this.add(jp1,"Center");</p><p> this.add(jp2,"South");</p><p><b> pack();</b></p><p> this.setVisible(true);</p>
76、<p> this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);</p><p> int W = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();</p><p> int H = (int)Toolkit.getDefaultToolkit()
77、.getScreenSize().getHeight();</p><p> this.setLocation((W-this.getWidth())/2,(H-this.getHeight())/2);</p><p><b> }</b></p><p> public Vector checkUser(String userno)
78、throws SQLException{//查詢用戶信息</p><p> Vector v = new Vector();</p><p><b> try {</b></p><p> String sql = "select * from user where userno = ?";</p>&l
79、t;p><b> try {</b></p><p> ps = con.prepareStatement(sql);</p><p> ps.setInt(1, Integer.valueOf(userno));</p><p> rs = ps.executeQuery();</p><p> } c
80、atch (SQLException e) {</p><p> System.out.println(e.getMessage());</p><p><b> }</b></p><p> while (rs.next()) {</p><p> UserVo s = new UserVo();</p&
81、gt;<p> s.setUserno(rs.getString("userno"));</p><p> s.setUsername(rs.getString("username"));</p><p> s.setUserpassword(rs.getString("userpassword"));<
82、/p><p> s.setUserpopedom(rs.getString("userpopedom"));</p><p><b> v.add(s);</b></p><p><b> }</b></p><p> } catch (SQLException ex) {&
83、lt;/p><p> Logger.getLogger(Conn.class.getName()).log(Level.SEVERE, null, ex);</p><p><b> }finally{</b></p><p> ps.close();</p><p> con.close();</p>
84、<p><b> }</b></p><p><b> return v;</b></p><p><b> }</b></p><p><b> ?、?增加用戶</b></p><p> 管理員可以根據(jù)需要通過(guò)該功能增加一個(gè)或多個(gè)用
85、戶,假設(shè)我們現(xiàn)在新增一個(gè)用戶,在“增加用戶”界面輸入用戶的信息之后,這些信息便會(huì)傳遞給一條用與插入數(shù)據(jù)的SQL語(yǔ)句------insert語(yǔ)句,增加用戶成功后便會(huì)在“用戶管理”界面的顯示區(qū)域內(nèi)顯示出刷新后的用戶信息。其輸入用戶信息界面及運(yùn)行界面分別如圖4.6和4.7所示。</p><p> 圖4.6 “增加用戶”輸入界面</p><p> 圖4.7 增加用戶運(yùn)行結(jié)果界面</p&g
86、t;<p> 增加用戶的代碼如下:</p><p> public class Addusers extends JFrame implements ActionListener {</p><p> JTextField _jt1,_jt2,_jt3,_jt4;</p><p> JButton _jb1,_jb2;</p>&
87、lt;p> JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7;</p><p> JLabel _jl1,_jl2,_jl3,_jl4;</p><p> Conn conn = new Conn();</p><p> String username,userpassword,userpopedom;</p><
88、;p> public Addusers(String name,String password,String popedom) {</p><p> super("添加用戶");</p><p> username = name;</p><p> userpassword = password;</p><p&
89、gt; userpopedom = popedom;</p><p> if(conn.ifadmin(username,userpassword,userpopedom))</p><p><b> {</b></p><p><b> }else{</b></p><p> JOpti
90、onPane.showMessageDialog(this,"非法請(qǐng)求!");</p><p> System.exit(0);</p><p><b> }</b></p><p> _jt1 = new JTextField(10);</p><p> _jt2 = new JTextFi
91、eld(10);</p><p> _jt3 = new JTextField(10);</p><p> _jt4 = new JTextField(10);</p><p> _jb1 = new JButton("提交");</p><p> _jb2 = new JButton("返回"
92、);</p><p> jp1 = new JPanel();</p><p> jp2 = new JPanel();</p><p> jp3 = new JPanel();</p><p> jp4 = new JPanel();</p><p> jp5 = new JPanel();</p&g
93、t;<p> jp6 = new JPanel(new GridLayout(4,1));</p><p> _jl1 = new JLabel("號(hào) 碼");</p><p> _jl2 = new JLabel("姓 名");</p><p> _jl3 = new JLabel("密
94、 碼");</p><p> _jl4 = new JLabel("權(quán) 限");</p><p> jp1.add(_jl1);</p><p> jp1.add(_jt1);</p><p> jp2.add(_jl2);</p><p> jp2.add(_jt2);<
95、;/p><p> jp3.add(_jl3);</p><p> jp3.add(_jt3);</p><p> jp4.add(_jl4);</p><p> jp4.add(_jt4);</p><p> jp5.add(_jb1);</p><p> jp5.add(_jb2);&
96、lt;/p><p> jp6.add(jp1);</p><p> jp6.add(jp2);</p><p> jp6.add(jp3);</p><p> jp6.add(jp4);</p><p> _jb1.addActionListener(this);</p><p> _j
97、b2.addActionListener(this);</p><p> this.add(jp6,"Center");</p><p> this.add(jp5,"South");</p><p><b> pack();</b></p><p> this.setVi
98、sible(true);</p><p> this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);</p><p> int W = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();</p><p> int H = (int)Too
99、lkit.getDefaultToolkit().getScreenSize().getHeight();</p><p> this.setLocation((W-this.getWidth())/2,(H-this.getHeight())/2);</p><p><b> }</b></p><p> public void act
100、ionPerformed(ActionEvent e)</p><p><b> {</b></p><p> if(e.getSource()==_jb1)</p><p><b> {</b></p><p> String no = _jt1.getText().trim();<
101、/p><p> String name = _jt2.getText().trim();</p><p> String password = _jt3.getText().trim();</p><p> String popedom = _jt4.getText().trim();</p><p> if(no.equals(&quo
102、t;")||name.equals("")||password.equals("")||!popedom.equals("admin")&&!popedom.equals("user"))</p><p><b> {</b></p><p> JOption
103、Pane.showMessageDialog(this,"資料不能為空或者\(yùn)n權(quán)限只能為“admin”,“user”!");</p><p><b> }else</b></p><p><b> {</b></p><p> if(conn.isDigitString(no)){//判斷用戶號(hào)碼
104、中的是不是都是數(shù)字</p><p> int _no = Integer.parseInt(no);</p><p> conn.adduser(_no,name,password,popedom);</p><p> JOptionPane.showMessageDialog(this,"注冊(cè)成功!");</p><p
105、> dispose();</p><p> JOptionPane.showMessageDialog(this,"歡迎管理員回來(lái)!");</p><p> new Usermanage(username,userpassword,userpopedom);</p><p><b> }</b></p&g
106、t;<p><b> else{</b></p><p> JOptionPane.showMessageDialog(this,"號(hào)碼不能是英文!");</p><p><b> }</b></p><p><b> }</b></p><
107、;p><b> }</b></p><p> if(e.getSource()==_jb2){</p><p> dispose();</p><p> JOptionPane.showMessageDialog(this,"歡迎管理員回來(lái)!");</p><p> new Userm
108、anage(username,userpassword,userpopedom);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> public void adduser(int num
109、ber,String name,String password,String popedom)//向用戶表中添加用戶</p><p><b> {</b></p><p> String sql = "insert into user(userno,username,userpassword,userpopedom) values(?,?,?,?)&qu
110、ot;;</p><p><b> try{</b></p><p> ps = con.prepareStatement(sql);</p><p> ps.setInt(1,number);</p><p> ps.setString(2,name);</p><p> ps.set
111、String(3,password);</p><p> ps.setString(4,popedom);</p><p> ps.executeUpdate();//執(zhí)行插入語(yǔ)句并返回值為int類型</p><p> ps.close();</p><p> con.close();</p><p> }c
112、atch(SQLException e){</p><p> System.out.println (e.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p><b> ?、?刪除用戶</b></p
113、><p> 管理員通過(guò)“查找用戶”功能查找到要?jiǎng)h除的用戶后在顯示區(qū)域選中該用戶或是直接在顯示區(qū)域選中要?jiǎng)h除的用戶點(diǎn)擊“刪除用戶”即可刪除該用戶并在顯示區(qū)列出刷新后的用戶信息。實(shí)現(xiàn)思想同查找用戶差不多,只是將實(shí)現(xiàn)的SQl語(yǔ)句換成delete語(yǔ)句。</p><p><b> ?、?修改用戶</b></p><p> 管理員可以通過(guò)“查找用戶”功能來(lái)
114、找到該用戶也可以直接在顯示區(qū)域內(nèi)選擇要修改的用戶,在“修改用戶”界面,管理員可以修改處該用戶的用戶號(hào)之外 的其他信息。具體實(shí)現(xiàn)思想為:“修改用戶”界面根據(jù)需要修改完用戶信息后,用戶的信息便會(huì)以參數(shù)形式傳遞給用于修改數(shù)據(jù)的SQL語(yǔ)句-------update語(yǔ)句。然后將修改后的信息顯示在顯示區(qū)域內(nèi)。假如現(xiàn)在我們要修改“高世杰”的信息,在修改界面(如圖4.8所示)將該用戶的密碼修改為“1341”修改為信息后運(yùn)行結(jié)果如圖4.9所示。</
115、p><p> 圖4.8 “修改用戶”輸入界面</p><p> 圖4.9 修改用戶要運(yùn)行結(jié)果界面</p><p> 修改用戶模塊的代碼如下:</p><p> public Updateusers(Object no,Object name,Object password,Object popedom) {</p><
116、p> super("修改用戶");</p><p> _jl1 = new JLabel("號(hào) 碼");</p><p> _jl2 = new JLabel("姓 名");</p><p> _jl3 = new JLabel("密 碼");</p>
117、<p> _jl4 = new JLabel("權(quán) 限");</p><p> _jt1 = new JTextField(10);</p><p> _jt1.setText(""+no);</p><p> _jt1.setEditable(false);</p><p> _
118、jt2 = new JTextField(10);</p><p> _jt2.setText(""+name);</p><p> _jt3 = new JTextField(10);</p><p> _jt3.setText(""+password);</p><p> _jt4 = ne
119、w JTextField(10);</p><p> _jt4.setText(""+popedom);</p><p> _jb1 = new JButton("提交");</p><p> _jb2 = new JButton("返回");</p><p> jp1 =
120、new JPanel();</p><p> jp2 = new JPanel();</p><p> jp3 = new JPanel();</p><p> jp4 = new JPanel();</p><p> jp5 = new JPanel();</p><p> jp6 = new JPanel
121、(new GridLayout(4,1));</p><p> jp1.add(_jl1);</p><p> jp1.add(_jt1);</p><p> jp2.add(_jl2);</p><p> jp2.add(_jt2);</p><p> jp3.add(_jl3);</p>&
122、lt;p> jp3.add(_jt3);</p><p> jp4.add(_jl4);</p><p> jp4.add(_jt4);</p><p> jp5.add(_jb1);</p><p> jp5.add(_jb2);</p><p> jp6.add(jp1);</p>
123、<p> jp6.add(jp2);</p><p> jp6.add(jp3);</p><p> jp6.add(jp4);</p><p> _jb1.addActionListener(this);</p><p> _jb2.addActionListener(this);</p><p>
124、; this.add(jp6,"Center");</p><p> this.add(jp5,"South");</p><p><b> pack();</b></p><p> this.setVisible(true);</p><p> this.setDefa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 火車售票系統(tǒng)課程設(shè)計(jì)
- 火車售票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告---- 火車售票系統(tǒng)
- 火車售票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 火車預(yù)售票系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)---火車票網(wǎng)上售票系統(tǒng)
- 火車預(yù)售票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 火車售票系數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 網(wǎng)絡(luò)編程課程設(shè)計(jì)報(bào)告--模擬火車售票退票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---火車售票系統(tǒng)的實(shí)現(xiàn)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告----火車票售票系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--火車票售票管理系統(tǒng)
- 火車站車票售票系統(tǒng)--數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 火車訂票系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----火車站車票售票系統(tǒng)
- 民航售票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 民航售票管理系統(tǒng)課程設(shè)計(jì)
- 民航售票系統(tǒng)課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)鐵路售票系統(tǒng)
- 航空售票系統(tǒng)+c++課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論