火車售票系統課程設計報告_第1頁
火車售票系統課程設計報告_第2頁
火車售票系統課程設計報告_第3頁
火車售票系統課程設計報告_第4頁
火車售票系統課程設計報告_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、沈 陽 工 程 學 院課 程 設 計設計題目: 火車票管理系統 系 別 信息工程系 班級 網絡本101 學生姓名 劉雨嬌 金兆寧 姚宇 夏林 學 號 02 13 19 24 指導教師 孫憲麗 、楊弘平 職稱 副教授 、副教授 起止日期:2012年12月3日起至2012年12月7日止沈陽工程學院課程設計報告 摘要摘 要隨著internet和intranet技術的發展,人們對網絡信息的需求越來越大,對網絡數據庫的交互和查詢速度等性能的要求也越來越高。未來火車站的發展趨勢是完全自動化的售票信息查詢,網絡訂票,智能化訂票,而且隨著計算機的普及,信息處理量的逐漸擴大,手工處理方式已經遠遠不能滿足人們管理

2、活動的需要,各種工作都逐漸由手工轉為自動化,將使許多復雜、繁瑣、且需要很多人力的工作變得簡單。火車站售票管理是本系統的根本任務,通過實現票務信息的計算機管理,以提高工作效率。實現計算機管理的最佳技術就是數據庫技術。我們可以利用數據庫將整個火車站的票務情況存入計算機,再配置上功能豐富的用戶接口,以滿足用戶需求。 基于這樣的背景并考慮到一定的實際意義及于我們將實踐與理論結合起來,我們組在這次課設中選擇了“火車售票管理系統”。在這次課設中我們使用java技術來開發該火車票管理系統。因而在本報告中介紹了系統的開發環境以及開發工具,對java在系統上的應用設計思想做了一個全面的敘述,對于系統中數據庫中的

3、數據表之間的具體關聯等方面也做出了詳細說明,并且具體講述了系統各個功能模塊的設計以及實現過程。關鍵詞 火車售票管理系統 java技術 網絡數據庫i沈陽工程學院課程設計報告 目錄目 錄摘要i第1章 緒論11.1 項目背景11.2 編寫目的11.3 開發環境11.3.1 硬件環境11.3.2 軟件環境1第2章 系統功能介紹32.1 系統功能總框圖32.2 模塊功能介紹32.2.1 系統登錄32.2.2 管理員登錄32.2.3 普通用戶登錄42.3組內任務分工4第3章 數據庫設計53.1 數據庫需求分析53.2 數據流圖53.3 數據庫概念結構設計63.4 數據庫表的設計7第4章 系統功能實現104

4、.1 登陸系統104.2 管理員系統114.2.1 用戶管理114.2.2 票務管理204.3 普通用戶登錄214.3.1 查詢214.3.2 售票27結論31致謝32參考文獻33ii沈陽工程學院課程設計報告 第1章 緒論第1章 緒論信息社會的高科技,商品經濟的高效益,使計算機的應用普及到經濟和社會生活的各個領域。計算機與人類的關系愈來愈密切,計算機操作為人們帶了越來越多的便利。為了適應現代社會人們高度強烈的時間觀念,火車票管理系統將會為人們帶來極大的方便。1.1 項目背景在火車大力普及的今天,一個火車站售票信息管理系統應達到的目標是提供及時、廣泛的信息服務,加快信息檢索的效率,實況靈活的查詢

5、,減輕管理人員制作報表和統計分析的負擔,且系統規模不太大但又要保證支持日常工作的要求,以便系統應易于擴充,方便日后統一聯網與管理,提高管理水平。根據以上的設計目標和要求,本設計用java編程語言結合微軟的access數據庫進行開發,主要完成查詢、售票、及對票務和用戶進行管理等功能。其實火車售票系統用計算機管理火車站票務信息的一種計算機應用技術的創新,在計算機還未普及之前售票業務都是由工作人員人工完成的、查詢方式來操作的。現在一般的車站售票業務都采用計算機智能化管理,采用計算機作為工具的實用的計算機訂單管理程序來幫助前臺管理員進行更有效的車票業務查詢,出售管理工作。火車售票管理系統是典型的信息管

6、理系統(mis):其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。 經過分析:我們使用java編程語言開發工具,利用其提供的各種面向對象的開發工具,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象,首先在短時間內建立系統應用原型,然后對初始原型系統進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統。1.2 編寫目的電腦的漸漸普及,以及互聯網所容納的信息量大、內容豐富、信息及時、準確,更有相關信息的全面介紹與比較。為了人們在火車站購買車票以及售票員對車票的、管理

7、、查詢以及相應的操作變的簡單,開發這樣一個火車票管理系統成為很有必要的事情。1.3 開發環境1.3.1 硬件環境pc機。1.3.2 軟件環境 操作系統:windows xp 開發工具:eclipseeclipse是著名的跨平臺的自由集成開發環境(ide)。最初主要用來java語言開發,但是目前亦有人通過插件使其作為c+、python、php等其他語言的開發工具。eclipse的本身只是一個框架平臺,但是眾多插件的支持,使得eclipse擁有較佳的靈活性。許多軟件開發商以eclipse為框架開發自己的ide。eclipse采用的技術是ibm公司開發的(swt),這是一種基于java的窗口組件,類

8、似java本身提供的awt和swing窗口組件;不過ibm聲稱swt比其他java窗口組件更有效率。eclipse的用戶界面還使用了gui中間層jface,從而簡化了基于swt的應用程序的構建。eclipse的設計思想是:一切皆插件。eclipse核心很小,其它所有功能都以插件的形式附加于eclipse核心之上。eclipse基本內核包括:圖形api (swt/jface), java開發環境插件(jdt),插件開發環境(pde)等。 數據庫:microsoft access2003access 是微軟公司推出的基于windows的桌面關系數據庫管理系統(rdbms),是office系列應用軟

9、件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數據庫系統的對象;提供了多種向導、生成器、模板,把數據存儲、數據查詢、界面設計、報表生成等操作規范化;為建立功能完善的數據庫管理系統提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數據管理的任務。 access是一種關系型數據庫管理系統,其主要特點如下: 1) 存儲方式單一 access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數據庫文件種,便于用戶的操作和管理。 2) 面向對象 access是一個面向對象的開發工具,利用面向對象的方式將數據庫系統中的各種功能對象化,將數據庫管理的各

10、種功能封裝在各類對象中。它將一個應用系統當作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和外國,用戶還可以按需要給對象擴展方法和屬性。通過對象的方法、屬性完成數據庫的操作和管理,極大地簡化了用戶的開發工作。同時,這種基于面向對象的開發方式,使得開發應用程序更為簡便。 3)界面友好、易操作 access是一個可視化工具,是風格與windows完全一樣,用戶想要生成對象并應用,只要使用鼠標進行拖放即可,非常直觀方便。系統還提供了表生成器、查詢生成器、報表設計器以及數據庫向導、表向導、查詢向導、窗體向導、報表向導等工具,使得操作簡便,容易使用和掌握。 4)集成環境、處理

11、多種數據信息 access基于windows操作系統下的集成開發環境,該環境集成了各種向導和生成器工具,極大地提高了開發人員的工作效率,使得建立數據庫、創建表、設計用戶界面、設計數據查詢、報表打印等可以方便有序地進行。 5)access支持odbc(開發數據庫互連,open data base connectivity),利用access強大的dde(動態數據交換)和ole(對象的聯接和嵌入)特性,可以在一個數據表中嵌入位圖、聲音、excel表格、word文檔,還可以建立動態的數據庫報表和窗體等。access還可以將程序應用于網絡,并與網絡上的動態數據相聯接。利用數據庫訪問頁對象生成html文

12、件,輕松構建internet/intranet的應用。37沈陽工程學院課程設計報告 第2章 系統功能介紹第2章 系統功能介紹2.1 系統功能總框圖系統功能分析是在系統開發的總體任務的基礎上完成。根據系統分析確定的邏輯模型,確定新系統的物理模型,即計算機化信息系統應用軟件的總體結構和數據庫設計,并提出系統配置方案,繼而對物理模型進行詳細的設計。主要內容有:代碼設計,用戶界面設計,處理過程設計,編寫系統設計說明書。系統設計是以系統分析為基礎,而系統設計又是系統實施的基礎,系統設計的主要任務是代碼設計、物理設計、數據庫設計、功能結構圖設計。本火車票管理系統功能包括用戶登錄、用戶信息管理、火車票信息管

13、理、火車票信息查詢等如圖2.1所示。圖2.1 系統功能圖2.2 模塊功能介紹2.2.1 系統登錄火車票管理系統可以分為2種登錄方式登錄系統,分別為管理員、普通用戶。考慮到數據庫中數據的安全性和用戶的權益,該系統采用“用戶標識”和“口令”相結合的數據庫安全技術,并通過自動認證用戶的“權限”來判斷用戶應該登陸到的界面。其中管理員使用密碼登錄可以直接登錄到管理系統,進行火車票信息和用戶信息進行管理;普通用戶使用密碼登錄到用戶界面,可以在對火車票查詢的基礎上對乘客所要求買的車票信息進行查詢和填寫以及火車票記錄的打印等操作。2.2.2 管理員登錄管理員是該火車售票系統數據的直接管理者,他對該系統數據庫中

14、的數據享有所有的權限。針對這一點,管理員管理界面包含了“用戶管理”、“票務管理”以及“系統幫助”三個選項。(1)用戶管理用戶管理界面是管理員才能進入的界面,在該窗口中,管理員可以對使用該系統的用戶進行管理,具體包括“查找用戶”、“增加用戶”、“刪除用戶”、“修改用戶”等功能,并將各個子功能的結果顯示在窗口左邊的顯示區域內,初次登陸此界面時顯示區域內的信息是所有用戶的信息。通過該模塊的功能,管理員可以很方便的對使用該系統的用戶進行管理。(2)票務管理顧名思義“票務管理”就是對火車票進行的管理,在此模塊中我們可以進行“所有票數”、“賣出票數”等的預覽。運行界面如圖2.2所示。圖2.2“票務管理”窗

15、口2.2.3 普通用戶登錄在這個功能模塊里普通用戶即售票員可以進行火車及或火車票的信息進行查詢及售票。查詢子功能中可以“按車次查詢”,也可以“按車站查詢”;在售票子功能中選擇好車票相關信息后并核對確認好乘客需要次車票后可以可預覽車票信息;如果乘客需要數據單,則可以點擊“打印”來打印數據單。查詢:“查詢”功能中的“按車次查詢”和“按車站查詢”思想相差無幾,這里我們重點說明“按車次查詢”。如現在乘客詢問“t1”的火車具體信息及車票信息或者是購買“t1”的車票,售票員便在“火車票”窗口選擇“按車次查詢”,然后在“車次”一欄中輸入“t1”以及選擇好日期以后點擊“查詢”便會出發相應的查詢事件即將“車次”

16、和“日期”傳遞給查詢語句后將數據庫中各個表中的相關信息查詢出來顯示在“火車票”窗口相應的地方,具體包括始發站、終點站、發車時間、剩余票數、單價等信息。售票:在用戶選定了需要的票之后,點擊確定按鈕之后,會彈出電子票窗口。在購票成功之后,需要對數據庫進行更新操作,這就是售票系統的主要功能。2.3 組內任務分工表2.1 組內任務分工姓名任務分工成績姚宇(組長)數據庫連接與數據交互、用戶管理(增加、查找、修改、刪除)金兆寧數據庫需求分析、選擇車票(打印)夏林數據流圖、票務管理(已賣票、所有票)劉雨嬌數據庫設計、用戶登錄、系統幫助(車票顯示)沈陽工程學院課程設計報告 第3章 數據庫設計第3章 數據庫設計

17、火車票管理系統是一個數據庫應用系統,各類數據的所有信息都是保存在數據庫中。在數據庫應用系統的開發進程中,數據庫的結構設計是一個非常重要的問題。我們這里所說的數據庫結構設計是指數據庫中各個表結構的設計,包括信息保存在哪個表格中,各個表的結構如何以及各個表之間的關系如何等。數據庫結構設計的好壞將直接對應用系統的效率以及實現的效果產生影響,好的數據庫結構設計會減少數據庫的存儲量,數據庫的完整性和一致性比較高,系統具有較快的響應速度,簡化基于數據庫的應用程序的實現等。由數據庫設計的重要性,人們提出了許多數據庫結構設計的技術。但是這些設計方法和設計者的工作經驗有很大關系。因此要從根本上解決所有數據庫結構

18、設計的問題,就需要多實踐,在實踐中積累經驗和教訓,最終成為數據庫結構設計的專家。3.1 數據庫需求分析數據庫結構設計的一個非常重要的階段就是數據庫需求分析階段。在這個階段主要是收集基本數據以及數據處理流程,為以后進一步設計打下基礎。需求分析主要解決兩個問題:內容要求:調查應用系統用戶所操作的數據,決定的數據庫中存儲什么數據。處理要求:調查應用系統用戶要求對數據進行什么樣的處理,理數據庫中的各種數據之間的關系如何。解決這兩個問題的時候,程序設計人員需要向應用系統的用戶做詳細調查,保證信息收集的完整性,否則有可能后面所做的所有工作都白白浪費。現在軟件開發過程中最常用的需求分析技術是快速原型法,其實

19、質就是快速建立展示目標產品主要功能的軟件,在開發過程中根據用戶反饋對模型不斷修改、完善。因此其最重要的一方面體現在“快速”上,要盡可能快地建立原型。第二個方面是所構造的原型必須可以改變,可以根據用戶反饋不斷更改、完善。在開發本系統過程中,基本遵循快速原型法原則,經過初步調研后,先建立應用程序框架,然后根據與用戶的交流,在原型的基礎上不斷修改、完善,直到最后交付使用。這種方法最大的優點是開發周期短、見效快、實用性強。在此系統中用戶中的管理員需求對火車和火車票進行保存、更新,對普通用戶進行增加、刪除、查詢、修改;普通則要求對火車票的相關信息進行查詢、打印,將火車票準確及時的賣出給乘客。這就需要數據

20、庫結構能充分滿足各種信息的輸入與輸出,實現有組織地、動態地存儲大量關聯數據,方便用戶訪問系統中的數據,它與文件系統的重要區別是數據的充分共享,交叉訪問,與應用程序的高度獨立性。3.2 數據流圖結構化方法使用數據流圖從數據傳遞和加工的角度,以圖形的方式刻畫數據流從輸入到輸出的變化過程。數據流圖是結構化系統分析的主要工具,它表示了系統內部信息的流向,并表示了系統的邏輯處理的功能,是一種功能模型。火車票管理系統的數據流圖如下圖3.1所示。圖3.1數據流圖3.3 數據庫概念結構設計這一階段是在需求分析的基礎上,設計出能夠滿足需求的各種實體,以及它們之間的關系,且為后面的邏輯結構設計打下基礎。這個階段不

21、用考慮所采用得數據庫管理系統、操作系統、機器類型等問題。這個階段可用的工具很多。用得最多的是e-r圖(entity-relation,實體-關系圖),另外還有許多計算機輔助工具(computer aided software, case)可以幫助進行設計。本系統都是采用e-r圖的方法進行數據庫概念結構設計的,現在先對e-r圖的方法進行一下簡單的介紹。e-r圖是描述數據實體及其關系的一種直觀的描述工具。這種圖中有: 實體。用方框表示,方框內為實體名稱。在火車售票系統中的實體有用戶、車票。 實體的各種屬性。用橢圓表示,橢圓內為屬性名稱。使用線段將其和相應的實體連接起來。概括起來,該系統中各實體的屬

22、性如下:1) 用戶(用戶名,用戶號、用戶密碼、用戶權限);2) 車票(車票號,車票類型,票價);3) 火車(火車號,車型,始發時間,始發站,終點站,途經站,運行時間,全程行程);4) 車站(車站號,車站名);5) 車廂(車廂號,類型,總票數,剩余票數);6) 實體之間的聯系。用菱形表示,菱形內部為聯系的名稱。圖3.2 總e-r圖3.4 數據庫表的設計在做出數據庫的具體表之前,我們需要有相應的概念結構。概念結構是獨立于實際數據模型的,必須將其轉化為邏輯結構后才能進行數據庫應用設計。也就是要將上面的數據庫概念轉化為access數據庫所支持的實際數據模型。在上面的實體與實體之間關系的基礎上,形成數據

23、庫中的表格,以及各個表格之間的關系。具體關系模式如下: 用戶信息(用戶id,登錄名,用戶密碼,用戶權限);車票(票號,車票類型,票價);車站信息(車站號,車站名);車廂信息(車廂編號,火車編號,類型,座位總數,剩余數量);火車信息(火車號,車型,始發時間,始發站,終點站,途經站,運行時間,全程行程);管理/賣票(票號,火車號);“火車票管理系統”的數據庫名稱為trainticket,數據庫中包含6張表。下面根據系統的關系模式分別給出數據表概要說明和主要數據表的結構,每個表格表示數據庫中的一個表。按照關系模式可分為tickettable表描述車票信息(如表3.3所示)、salesticket表描

24、述賣票聯系(如表3.4所示)、brailway表描述車廂信息(如表3.5所示)、users表描述用戶信息(如表3.6所示)、trainstage表描述車站信息(如表3.7所示)、trainstation 表描述火車信息(如表3.8所示)。表3.3 tickettable表字段名稱字段類型約束條件ttypeno車票號char(10)主鍵tickettype車票類型char(10)not nullcharge票價float(8,2)not null表3.4 salesticket 表字段名稱字段類型約束條件ticketno車票編號char(10)主鍵,參照tickettable表trainno火車

25、編號char(10)主鍵,參照trainstation表表3.5 brailway表字段名稱字段類型約束條件trainno火車編號char(10)主鍵railwayno車廂號int(10)主鍵railwaytype類型char(10)not nullseatcount總票數int(10)unsigned not nulluseable剩余票數int(10)unsigned not null表3.6 users表字段名稱字段類型約束條件userno用戶號碼int(10)主鍵username用戶名char(10)not nulluserpassword用戶密碼char(10)not nulluse

26、rpopedom用戶權限char(10)not null表3.7 trainstage 表字段名稱字段類型約束條件stagenameindex站號char(10)主鍵stagename站名varchar(50)not null表3.8 trainstation表字段名稱字段類型約束條件trainno火車編號char(10)主鍵traintype車型char(10)not nullstartstage始發站varchar(45)not null,參照表trainstagearrivestage終點站varchar(45)not null,參照表trainstagechangetrain途經站va

27、rchar(45)not null,參照表trainstagearrivetime到達時間char(10)not nullexittime運行時間char(10)not nullrunmileage全程行程int(10not null沈陽工程學院課程設計報告 第4章 系統功能實現第4章 系統功能實現4.1 登陸系統我們在數據庫中設計了管理員權限(admin)與普通用戶權限(user)。通過判斷輸入的用戶名和密碼判斷權限,然后登陸系統。登陸界面如圖4.1所示。 圖4.1 登陸界面具體代碼實現如下:public void actionperformed(actionevent e)conn con

28、n = new conn();if(e.getsource()=_jbsub)/提交 string username = _jfid.gettext().trim();/用戶名string userpassword = new string(_jfpass.getpassword().trim();if(conn.login(username,userpassword)if(conn.ifadmin(username,userpassword,userpopedom)dispose();/關閉該窗口并釋放資源joptionpane.showmessagedialog(this,歡迎管理員登錄!

29、);new manage(username,userpassword,userpopedom);/管理員管理事物類elsenew trainticket(username,userpassword);/車票查詢及售票類dispose();elsejoptionpane.showmessagedialog(this,登錄失敗,請檢查密碼是否正確!);if(e.getsource()=_jbcan)/取消system.exit(0);4.2 管理員系統管理員權限是火車售票的最高權限,分為“用戶管理”和“票務統計”兩大塊,圖4.2為管理員登陸后的操作界面。圖4.2 管理員界面4.2.1 用戶管理在“

30、用戶管理”模塊下可以進行“增加用戶”、“查找用戶”、“刪除用戶”、“修改用戶”操作。如圖4.3所示。圖4.3 用戶管理界面 查找用戶管理員通過輸入該用戶號來查找用戶,如查找用戶號為2的用戶,其輸入界面如圖4.4所示,運行結果如圖4.5所示。具體實現思想為:將從輸入界面輸入的用戶號傳遞給一條用于數據庫數據查找的sql語句-select語句來查找出擁有該用戶號的用戶的信息然后返回給“查找用戶”類最后顯示在“用戶管理”界面。圖4.4 “查找用戶”輸入界面圖4.5 查找用戶運行結果界面查詢用戶信息的代碼如下:public checkuser(string name,string password,st

31、ring popedom) super(查找用戶); _jl = new jlabel(號碼); _jt = new jtextfield(10); _jb1 = new jbutton(提交); _jb2 = new jbutton(返回); jp1= new jpanel(); jp2= new jpanel(); username = name; userpassword = password; userpopedom = popedom; if(conn.ifadmin(username,userpassword,userpopedom) else joptionpane.showme

32、ssagedialog(this,非法請求!); system.exit(0); jp1.add(_jl); jp1.add(_jt); jp2.add(_jb1); jp2.add(_jb2); _jb1.addactionlistener(this); _jb2.addactionlistener(this); this.add(jp1,center);this.add(jp2,south); pack(); this.setvisible(true); this.setdefaultcloseoperation(jframe.dispose_on_close); int w = (int

33、)toolkit.getdefaulttoolkit().getscreensize().getwidth(); int h = (int)toolkit.getdefaulttoolkit().getscreensize().getheight(); this.setlocation(w-this.getwidth()/2,(h-this.getheight()/2); public vector checkuser(string userno) throws sqlexception/查詢用戶信息 vector v = new vector(); try string sql = sele

34、ct * from user where userno = ?; try ps = con.preparestatement(sql); ps.setint(1, integer.valueof(userno); rs = ps.executequery(); catch (sqlexception e) system.out.println(e.getmessage(); while (rs.next() uservo s = new uservo(); s.setuserno(rs.getstring(userno); s.setusername(rs.getstring(username

35、); s.setuserpassword(rs.getstring(userpassword); s.setuserpopedom(rs.getstring(userpopedom); v.add(s); catch (sqlexception ex) logger.getlogger(conn.class.getname().log(level.severe, null, ex); finally ps.close(); con.close(); return v; 增加用戶管理員可以根據需要通過該功能增加一個或多個用戶,假設我們現在新增一個用戶,在“增加用戶”界面輸入用戶的信息之后,這些信

36、息便會傳遞給一條用與插入數據的sql語句-insert語句,增加用戶成功后便會在“用戶管理”界面的顯示區域內顯示出刷新后的用戶信息。其輸入用戶信息界面及運行界面分別如圖4.6和4.7所示。圖4.6 “增加用戶”輸入界面圖4.7 增加用戶運行結果界面增加用戶的代碼如下:public class addusers extends jframe implements actionlistener jtextfield _jt1,_jt2,_jt3,_jt4;jbutton _jb1,_jb2;jpanel jp1,jp2,jp3,jp4,jp5,jp6,jp7;jlabel _jl1,_jl2,_j

37、l3,_jl4;conn conn = new conn();string username,userpassword,userpopedom; public addusers(string name,string password,string popedom) super(添加用戶); username = name; userpassword = password; userpopedom = popedom; if(conn.ifadmin(username,userpassword,userpopedom) else joptionpane.showmessagedialog(thi

38、s,非法請求!); system.exit(0); _jt1 = new jtextfield(10); _jt2 = new jtextfield(10); _jt3 = new jtextfield(10); _jt4 = new jtextfield(10); _jb1 = new jbutton(提交); _jb2 = new jbutton(返回); jp1 = new jpanel(); jp2 = new jpanel(); jp3 = new jpanel(); jp4 = new jpanel(); jp5 = new jpanel(); jp6 = new jpanel(n

39、ew gridlayout(4,1); _jl1 = new jlabel(號 碼); _jl2 = new jlabel(姓 名); _jl3 = new jlabel(密 碼); _jl4 = new jlabel(權 限); jp1.add(_jl1); jp1.add(_jt1); jp2.add(_jl2); jp2.add(_jt2); jp3.add(_jl3); jp3.add(_jt3); jp4.add(_jl4); jp4.add(_jt4); jp5.add(_jb1); jp5.add(_jb2); jp6.add(jp1); jp6.add(jp2); jp6.ad

40、d(jp3); jp6.add(jp4); _jb1.addactionlistener(this); _jb2.addactionlistener(this); this.add(jp6,center);this.add(jp5,south); pack(); this.setvisible(true); this.setdefaultcloseoperation(jframe.dispose_on_close); int w = (int)toolkit.getdefaulttoolkit().getscreensize().getwidth(); int h = (int)toolkit

41、.getdefaulttoolkit().getscreensize().getheight(); this.setlocation(w-this.getwidth()/2,(h-this.getheight()/2); public void actionperformed(actionevent e) if(e.getsource()=_jb1) string no = _jt1.gettext().trim(); string name = _jt2.gettext().trim(); string password = _jt3.gettext().trim(); string pop

42、edom = _jt4.gettext().trim(); if(no.equals()|name.equals()|password.equals()|!popedom.equals(admin)&!popedom.equals(user) joptionpane.showmessagedialog(this,資料不能為空或者n權限只能為“admin”,“user”!); else if(conn.isdigitstring(no)/判斷用戶號碼中的是不是都是數字 int _no = integer.parseint(no); conn.adduser(_no,name,password,p

43、opedom); joptionpane.showmessagedialog(this,注冊成功!); dispose(); joptionpane.showmessagedialog(this,歡迎管理員回來!); new usermanage(username,userpassword,userpopedom); else joptionpane.showmessagedialog(this,號碼不能是英文!); if(e.getsource()=_jb2) dispose(); joptionpane.showmessagedialog(this,歡迎管理員回來!); new userm

44、anage(username,userpassword,userpopedom); public void adduser(int number,string name,string password,string popedom)/向用戶表中添加用戶 string sql = insert into user(userno,username,userpassword,userpopedom) values(?,?,?,?); try ps = con.preparestatement(sql);ps.setint(1,number);ps.setstring(2,name);ps.setst

45、ring(3,password);ps.setstring(4,popedom);ps.executeupdate();/執行插入語句并返回值為int類型ps.close();con.close(); catch(sqlexception e) system.out.println (e.getmessage(); 刪除用戶管理員通過“查找用戶”功能查找到要刪除的用戶后在顯示區域選中該用戶或是直接在顯示區域選中要刪除的用戶點擊“刪除用戶”即可刪除該用戶并在顯示區列出刷新后的用戶信息。實現思想同查找用戶差不多,只是將實現的sql語句換成delete語句。 修改用戶管理員可以通過“查找用戶”功能來

46、找到該用戶也可以直接在顯示區域內選擇要修改的用戶,在“修改用戶”界面,管理員可以修改處該用戶的用戶號之外 的其他信息。具體實現思想為:“修改用戶”界面根據需要修改完用戶信息后,用戶的信息便會以參數形式傳遞給用于修改數據的sql語句-update語句。然后將修改后的信息顯示在顯示區域內。假如現在我們要修改“高世杰”的信息,在修改界面(如圖4.8所示)將該用戶的密碼修改為“1341”修改為信息后運行結果如圖4.9所示。圖4.8 “修改用戶”輸入界面圖4.9 修改用戶要運行結果界面修改用戶模塊的代碼如下:public updateusers(object no,object name,object

47、password,object popedom) super(修改用戶);_jl1 = new jlabel(號 碼); _jl2 = new jlabel(姓 名); _jl3 = new jlabel(密 碼); _jl4 = new jlabel(權 限); _jt1 = new jtextfield(10);_jt1.settext(+no); _jt1.seteditable(false); _jt2 = new jtextfield(10);_jt2.settext(+name); _jt3 = new jtextfield(10);_jt3.settext(+password);

48、 _jt4 = new jtextfield(10);_jt4.settext(+popedom); _jb1 = new jbutton(提交); _jb2 = new jbutton(返回); jp1 = new jpanel(); jp2 = new jpanel(); jp3 = new jpanel(); jp4 = new jpanel(); jp5 = new jpanel(); jp6 = new jpanel(new gridlayout(4,1); jp1.add(_jl1); jp1.add(_jt1); jp2.add(_jl2); jp2.add(_jt2); jp3.add(_jl3); jp3.add(_jt3); jp4.add(_jl4); jp4.add(_jt4); jp5.add(_jb1); jp5.add(_jb2); jp6.add(jp1); jp6.add(jp2); jp6.add(jp3); jp6.add(jp4); _jb1.addactionlistener(this); _jb2.addactionlistener(this); this.add(jp6,center);this.add(jp5,south); pack(); this.setvisible(true); this.setdefau

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論