




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Oracle課程設(shè)計(jì)報(bào)告——華清池售票管理系統(tǒng)學(xué)院:數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)(軟件工程方向)班級(jí):軟件12組員:
目錄第一章引言 1第二章系統(tǒng)分析 22.1需求分析 22.2功能模塊圖 22.3數(shù)據(jù)流程圖 3第三章系統(tǒng)概要設(shè)計(jì) 43.1數(shù)據(jù)庫(kù)設(shè)計(jì) 53.1.1實(shí)體描述 63.1.2聯(lián)系描述 63.1.3E-R圖 7第四章系統(tǒng)詳細(xì)設(shè)計(jì) 84.1數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì) 84.2數(shù)據(jù)庫(kù)的實(shí)現(xiàn) 94.3人機(jī)界面的設(shè)計(jì) 94.3.1登陸界面設(shè)計(jì) 104.3.2管理員基本信息與功能界面設(shè)計(jì) 114.3.3用戶基本信息與功能界面設(shè)計(jì) 13第五章系統(tǒng)實(shí)現(xiàn) 165.1概述 165.2系統(tǒng)運(yùn)行與維護(hù) 16第六章小結(jié) 17第一章引言數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫(kù)有很多種類(lèi)型,從最簡(jiǎn)單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫(kù)系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。其中Oracle以其使用方便,安全性高,功能強(qiáng)大和完善的企業(yè)服務(wù)系統(tǒng)贏得了眾多用戶的青睞。下面我將用這學(xué)期學(xué)到的最基本的oracle知識(shí)簡(jiǎn)單地設(shè)計(jì)一個(gè)景點(diǎn)售票系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了基本的對(duì)數(shù)據(jù)庫(kù)的增刪改查。作為買(mǎi)票的顧客(用戶),我們實(shí)現(xiàn)了其買(mǎi)票,退票和查票的功能,作為賣(mài)票的一方(管理員),也可以對(duì)余票進(jìn)行查詢,同時(shí)也可以增加,修改票務(wù)信息!當(dāng)然,用戶角色可以注冊(cè)以及登錄該售票系統(tǒng),而管理員則默認(rèn)賬戶為admin,只能進(jìn)行登錄該系統(tǒng),不能注冊(cè)管理員賬戶。其中使用的oracle知識(shí)只是oracle里面很少的一部分,但也作為這學(xué)期學(xué)到的成果展現(xiàn)給大家,如有不對(duì)之處歡迎糾正第二章系統(tǒng)分析2.1需求分析該系統(tǒng)主要實(shí)現(xiàn)了一般的簡(jiǎn)單售票系統(tǒng)的最基本的功能。購(gòu)票者要購(gòu)票首先需要注冊(cè)賬號(hào)才能登陸,注冊(cè)時(shí)需要填寫(xiě)賬號(hào)和密碼。登陸以后可以購(gòu)票,也可以查詢余票。這里,客戶購(gòu)得的票會(huì)有票號(hào)、票價(jià)和有效日期等信息。購(gòu)票成功后,顧客還可以查詢自己的訂單。當(dāng)然,如果顧客發(fā)現(xiàn)買(mǎi)錯(cuò)票,這時(shí)候也可以退票。賣(mài)票者,也就是管理員可以查詢余票,也可以增加、修改票信息。當(dāng)然,顧客查詢和管理員查詢看到的東西肯定是不一樣的。這里管理員會(huì)特殊一點(diǎn),會(huì)看到每一張余票的具體信息,而顧客只能看到剩余的總票數(shù)和日期以及票價(jià)。增加功能主要實(shí)現(xiàn)對(duì)每一天的票務(wù)信息的更新的功能。每天不管票是否賣(mài)完,都須更新票務(wù)信息。修改功能主要針對(duì)票價(jià)及票的日期進(jìn)行修改,比如某天要做活動(dòng),有優(yōu)惠,票價(jià)半價(jià),這時(shí)管理員便可以修改票價(jià)。在現(xiàn)在競(jìng)爭(zhēng)激烈的電子商務(wù)中,系統(tǒng)的安全性和穩(wěn)定性是首要的選擇,其次是提供完善的服務(wù)流程。當(dāng)然實(shí)際上的景點(diǎn)售票系統(tǒng)要比這個(gè)復(fù)雜得多,在這里我只是做了一個(gè)系統(tǒng)的抽象和簡(jiǎn)單建模,也只實(shí)現(xiàn)了其中的部分功能,實(shí)際上還要包括更多更復(fù)雜的子模塊和交互性設(shè)置來(lái)提高系統(tǒng)的完整性和可操作性。2.2功能模塊圖華清池售票系統(tǒng)功能模塊圖就是將系統(tǒng)的功能進(jìn)行分解,按功能從屬關(guān)系表示出來(lái)的圖表。畫(huà)出功能模塊圖主要是為了更加明確的體現(xiàn)內(nèi)部組織關(guān)系,更加清晰的理清內(nèi)部邏輯關(guān)系,做到一目了然規(guī)范各自功能部分,使之條理化。華清池售票系統(tǒng)游客功能模塊管理員功能模塊查詢余票查詢余票修改票信息增加票退票查詢訂單購(gòu)票游客功能模塊管理員功能模塊查詢余票查詢余票修改票信息增加票退票查詢訂單購(gòu)票圖2.12.3數(shù)據(jù)流程圖票票游客管理員 購(gòu)票查票游客管理員 查票增加票 退票修改票提交訂單訂單查詢訂單訂單圖2.2第三章系統(tǒng)概要設(shè)計(jì)在經(jīng)過(guò)了系統(tǒng)分析之后,接下來(lái)的任務(wù)就是系統(tǒng)設(shè)計(jì)。管理信息系統(tǒng)設(shè)計(jì)階段的主要目的是將系統(tǒng)分析階段所提出的反映了用戶信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理(技術(shù))方案。在系統(tǒng)設(shè)計(jì)中,應(yīng)盡量滿足以下要求:1)系統(tǒng)性;2)靈活性;3)可靠性;4)經(jīng)濟(jì)性。所以在這一階段的主要任務(wù)是從管理信息系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)系統(tǒng)分析階段對(duì)系統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟(jì)、技術(shù)和運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計(jì)算機(jī)和通信的軟、硬件設(shè)備,提出系統(tǒng)的實(shí)施計(jì)劃,確??傮w目標(biāo)的實(shí)現(xiàn)。系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)階段的工作是一項(xiàng)技術(shù)性強(qiáng)、涉及面廣的活動(dòng),它包括如下主要活動(dòng):1)系統(tǒng)總體布局方案的確定;2)軟件系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì);3)計(jì)算機(jī)硬件方案的選擇和設(shè)計(jì);4)數(shù)據(jù)存儲(chǔ)的總體設(shè)計(jì)。結(jié)構(gòu)化設(shè)計(jì)是系統(tǒng)開(kāi)發(fā)的結(jié)構(gòu)化方法和基本思路與原則在軟件系統(tǒng)設(shè)計(jì)中的應(yīng)用,也是軟件系統(tǒng)設(shè)計(jì)中應(yīng)用最廣的一種方法。它適用于任何類(lèi)型的軟件系統(tǒng)總體設(shè)計(jì),可以同結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)前后銜接起來(lái)使用。結(jié)構(gòu)化設(shè)計(jì)方法是從建立一個(gè)擁有良好結(jié)構(gòu)的系統(tǒng)的觀點(diǎn)出發(fā),基于把一個(gè)復(fù)雜的系統(tǒng)分解成相對(duì)獨(dú)立模塊的原則,主要研究了將系統(tǒng)分解為不同模塊的方法和技術(shù),分析系統(tǒng)分解時(shí)產(chǎn)生的各種影響,提出了評(píng)價(jià)模塊結(jié)構(gòu)質(zhì)量的具體標(biāo)準(zhǔn),并給出了從表達(dá)用戶要求的數(shù)據(jù)流程圖導(dǎo)出結(jié)構(gòu)圖的規(guī)則性強(qiáng)、涉及面廣的活動(dòng),它包括如下主要活動(dòng):
1)系統(tǒng)總體布局方案的確定;2)軟件系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì);3)計(jì)算機(jī)硬件方案的選擇和設(shè)計(jì);4)數(shù)據(jù)存儲(chǔ)的總體設(shè)計(jì)。
結(jié)構(gòu)化設(shè)計(jì)是系統(tǒng)開(kāi)發(fā)的結(jié)構(gòu)化方法和基本思路與原則在軟件系統(tǒng)設(shè)計(jì)中的應(yīng)用,也是軟件系統(tǒng)設(shè)計(jì)中應(yīng)用最廣的一種方法。它適用于任何類(lèi)型的軟件系統(tǒng)總體設(shè)計(jì),可以同結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)前后銜接起來(lái)使用。結(jié)構(gòu)化設(shè)計(jì)方法是從建立一個(gè)擁有良好結(jié)構(gòu)的系統(tǒng)的觀點(diǎn)出發(fā),基于把一個(gè)復(fù)雜的系統(tǒng)分解成相對(duì)獨(dú)立模塊的原則,主要研究了將系統(tǒng)分解為不同模塊的方法和技術(shù),分析系統(tǒng)分解時(shí)產(chǎn)生的各種影響,提出了評(píng)價(jià)模塊結(jié)構(gòu)質(zhì)量的具體標(biāo)準(zhǔn),并給出了從表達(dá)用戶要求的數(shù)據(jù)流程圖導(dǎo)出結(jié)構(gòu)圖的規(guī)則。
3.1
數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)是開(kāi)發(fā)數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),也是信息系統(tǒng)開(kāi)發(fā)和建設(shè)的重要組成部分。具體的說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境中,通過(guò)合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),滿足用戶的各種信息需求。
在系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)中,首先對(duì)系統(tǒng)分析得到的數(shù)據(jù)字典中的數(shù)據(jù)存儲(chǔ)進(jìn)行分析,分析各數(shù)據(jù)存儲(chǔ)之間的關(guān)系,然后得出系統(tǒng)的關(guān)系模式。本系統(tǒng)用實(shí)體-聯(lián)系圖(簡(jiǎn)稱(chēng)E-R圖)來(lái)描述系統(tǒng)的概念模型。E-R圖由實(shí)體、屬性、聯(lián)系三部分組成,其符號(hào)如圖4.6所示:
實(shí)體
屬性
聯(lián)系
圖實(shí)體描述本系統(tǒng)中涉及的實(shí)體有四個(gè),其結(jié)構(gòu)如下:票(票價(jià)、日期、票號(hào))管理員(管理員賬號(hào)、管理員密碼)游客(游客賬號(hào)、游客密碼)訂單(游客賬號(hào)、票價(jià)、票號(hào)、日期)3.1.2聯(lián)系描述本系統(tǒng)中實(shí)體之間有3個(gè)聯(lián)系,其關(guān)系如下:(1)購(gòu)票關(guān)系:管理員、游客和票的關(guān)系是1:M:1,因?yàn)槎鄠€(gè)游客可以向一個(gè)管理員一次訂購(gòu)一張票;(2)退票關(guān)系:管理員、游客和票的關(guān)系是1:M:1,因?yàn)槎鄠€(gè)游客可以向一個(gè)管理員一次退一張票;(3)管理員增加票關(guān)系:管理員和票的關(guān)系是1:N,因?yàn)橐粋€(gè)管理員可以同時(shí)增加N張票。以上實(shí)體的聯(lián)系屬性如下:購(gòu)票(買(mǎi)票游客、票號(hào)、日期、數(shù)量、票價(jià)、賣(mài)票管理員)退票(買(mǎi)票游客、票號(hào)、日期、數(shù)量、票價(jià)、退票管理員)管理員增加票(管理員、票號(hào)、數(shù)量、日期、票價(jià))3.1.3E-R圖本系統(tǒng)的E-R圖如圖3.1所示:票游客賬號(hào)密碼票游客賬號(hào)密碼11 1購(gòu)票退票查詢購(gòu)票退票查詢票價(jià) nn n票價(jià)有效日期有效日期票號(hào) 票號(hào)查詢修改增加n1n 查詢修改增加1 管理員11管理員賬號(hào)密碼賬號(hào)密碼圖3.1第四章系統(tǒng)詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段的基本E-R圖轉(zhuǎn)化為與選用具體機(jī)器上的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),首先要實(shí)現(xiàn)的是E-R圖關(guān)系模型的轉(zhuǎn)化。而為此要解決的問(wèn)題是如何將實(shí)體和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。對(duì)于實(shí)體,將每個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系,實(shí)體的屬性即為關(guān)系的屬性,實(shí)體的碼即為關(guān)系的碼。對(duì)于實(shí)體間的聯(lián)系,可以分成三種情況:1)若實(shí)體間的聯(lián)系是1:1,可以在兩個(gè)實(shí)體轉(zhuǎn)換成的兩個(gè)關(guān)系中任意一個(gè)關(guān)系的屬性中加入另一個(gè)關(guān)系的碼。2)若實(shí)體間的聯(lián)系是1:n,則在n端實(shí)體轉(zhuǎn)換成的關(guān)系中加入1端實(shí)體轉(zhuǎn)換成的關(guān)系碼。3)若實(shí)體間的聯(lián)系是n:m,則將聯(lián)系轉(zhuǎn)換為關(guān)系,關(guān)系的屬性為諸個(gè)實(shí)體的碼加上聯(lián)系具有的屬性,而關(guān)系的碼則為諸實(shí)體的碼的組合。本系統(tǒng)中所涉及到的4個(gè)實(shí)體轉(zhuǎn)換為4個(gè)關(guān)系,3個(gè)三元聯(lián)系轉(zhuǎn)換為3個(gè)關(guān)系,所以本系統(tǒng)共有7個(gè)關(guān)系。4.2數(shù)據(jù)庫(kù)的實(shí)現(xiàn)按照數(shù)據(jù)字典中的數(shù)據(jù)元素說(shuō)明確定每個(gè)數(shù)據(jù)項(xiàng)的類(lèi)型和長(zhǎng)度,使每個(gè)關(guān)系都對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)表:(其中游客信息表和管理員信息表合成一個(gè)用戶密碼表,購(gòu)票信息表和退票信息表都在票的基本信息表里動(dòng)態(tài)變化,因此這里只建四張表)票的基本信息表(TICKET):列名數(shù)據(jù)類(lèi)型長(zhǎng)度屬性描述TICKET_NUMVARCHAR28主鍵票號(hào)TICKET_DATEVARCHAR212不允許為空票的日期TICKET_PRICEFLOAT6不允許為空票的價(jià)格票的副本信息表(TICKET_TRANSCRIPT):列名數(shù)據(jù)類(lèi)型長(zhǎng)度屬性描述TICKET_NUMVARCHAR28主鍵票號(hào)TICKET_DATEVARCHAR212不允許為空票的日期TICKET_PRICEFLOAT6不允許為空票的價(jià)格用戶訂單表(TICKET_ORDER_FORM):列名數(shù)據(jù)類(lèi)型長(zhǎng)度屬性描述USER_NAMEVARCHAR216不允許為空用戶名TICKET_NUMVARCHAR28主鍵票號(hào)TICKET_DATEVARCHAR212不允許為空票的日期TICKET_PRICEFLOAT6不允許為空票的價(jià)格用戶密碼表(TICKET_USERS):列名數(shù)據(jù)類(lèi)型長(zhǎng)度屬性描述USER_NAMEVARCHAE216主鍵用戶名USER_PWDVARCHAR210不允許為空用戶密碼4.3人機(jī)界面的設(shè)計(jì)用戶界面是指軟件系統(tǒng)和用戶交互的接口,良好的用戶界面往往可以提高用戶使用系統(tǒng)的熱情,并刺激他們的積極性。本系統(tǒng)采用的是JAVA代碼進(jìn)行編寫(xiě)的。實(shí)現(xiàn)的界面如下所示:4.3.1登錄界面設(shè)計(jì)為了保證系統(tǒng)的安全性,進(jìn)入系統(tǒng)之前必須經(jīng)過(guò)必要的安全性,簡(jiǎn)潔、清晰、友好是此設(shè)計(jì)的風(fēng)格,如圖4.1所示:圖4.1上面的注冊(cè)以及登陸頁(yè)面是管理員進(jìn)行登錄的界面,是游客進(jìn)行注冊(cè)和登陸的界面。圖4.2是登錄出錯(cuò)的界面:圖管理員基本信息與功能界面設(shè)計(jì)輸入正確的用戶名和密碼后,即進(jìn)入系統(tǒng)。圖4.3是管理員登錄進(jìn)去的主頁(yè)面。有增加票、修改票和查詢票的功能。圖4.3圖4.4是管理員查詢功能界面;圖4.5是管理員增加票的功能界面;圖4.6是管理員修改票信息功能的實(shí)現(xiàn)界面;圖4.4圖4.5圖用戶基本信息與功能界面設(shè)計(jì)圖4.7是用戶登陸成功后的界面;圖4.8是游客購(gòu)票時(shí)的界面;圖4.9是游客查詢余票的界面;圖4.10是游客查詢訂單時(shí)的界面,該界面上,游客可以選擇退票;圖4.7圖4.8圖4.9圖4.10第五章系統(tǒng)實(shí)現(xiàn)5.1概述在管理信息系統(tǒng)的生命周期中,經(jīng)過(guò)了系統(tǒng)規(guī)劃、系統(tǒng)分析和系統(tǒng)設(shè)計(jì)等階段以后,便開(kāi)始了系統(tǒng)實(shí)施階段。系統(tǒng)實(shí)施階段要繼承此前各階段的工作成果,將技術(shù)設(shè)計(jì)轉(zhuǎn)化成物理實(shí)現(xiàn),因此,系統(tǒng)實(shí)施的成果是系統(tǒng)分析和設(shè)計(jì)階段的結(jié)晶。同時(shí),系統(tǒng)實(shí)施作為系統(tǒng)生命周期中的后期階段,是把系統(tǒng)設(shè)計(jì)轉(zhuǎn)化為可實(shí)際運(yùn)行的物理系統(tǒng)的必然步驟。再好的系統(tǒng)設(shè)計(jì),不通過(guò)系統(tǒng)實(shí)施也只能是不能帶來(lái)現(xiàn)實(shí)效益的空中樓閣。系統(tǒng)實(shí)施作為系統(tǒng)的最后物理實(shí)現(xiàn)階段,對(duì)于系統(tǒng)的質(zhì)量、可靠性和可維護(hù)性等有著十分重要的影響。5.2系統(tǒng)運(yùn)行與維護(hù)經(jīng)過(guò)上述一系列測(cè)試通過(guò)后,系統(tǒng)就可以投入使用了。為了保證MIS長(zhǎng)期高效地工作,必須加強(qiáng)對(duì)MIS運(yùn)行的日常管理。MIS的日常運(yùn)行管理包括系統(tǒng)每天運(yùn)行狀況、數(shù)據(jù)輸入和輸入情況以及系統(tǒng)的安全性,完備性能及時(shí)地如實(shí)記錄和處置。這些工作主要由系統(tǒng)運(yùn)行值班人員來(lái)完成。系統(tǒng)維護(hù)的目的是為了保證管理信息系統(tǒng)正常可靠地運(yùn)行,并能使系統(tǒng)不斷得到改善和提高,以充分發(fā)揮作用。系統(tǒng)應(yīng)用程序維護(hù):業(yè)務(wù)處理是通過(guò)程序進(jìn)行的,一旦程序發(fā)生問(wèn)題或業(yè)務(wù)發(fā)生變化就必然地引起程序的修改和調(diào)整。數(shù)據(jù)維護(hù):需求為業(yè)務(wù)是不斷在變化的,因此反映這種變化的數(shù)據(jù)也要求隨之改變,包括內(nèi)容增加及數(shù)據(jù)結(jié)構(gòu)的調(diào)整。代碼維護(hù):系統(tǒng)的任何變化最終要通過(guò)修改代碼實(shí)現(xiàn)。硬件設(shè)備維護(hù):主要指主機(jī)及外設(shè)的日常維護(hù)和管理,以保證系統(tǒng)正常有效地運(yùn)行。
第六章
小結(jié)
通過(guò)Oracle數(shù)據(jù)庫(kù)這門(mén)課,不僅使我們學(xué)到Oracle的知識(shí)、得到動(dòng)手鍛煉的實(shí)踐機(jī)會(huì)。最重要的是,通過(guò)它與以前學(xué)的SQL
Server數(shù)據(jù)庫(kù)的對(duì)比學(xué)習(xí),更使我們了解到二者的區(qū)別與共性。為我們以后更深入的學(xué)習(xí)數(shù)據(jù)庫(kù)打下基礎(chǔ)。
我們這次的課程設(shè)計(jì)選用的題目是景點(diǎn)售票系統(tǒng),為了迎接新的挑戰(zhàn),我們沒(méi)用上一學(xué)期的系統(tǒng)。該系統(tǒng)雖然不算大,但從著手到完成也是費(fèi)了一凡功夫的。無(wú)論什么樣的系統(tǒng),用我們現(xiàn)在的知識(shí)都無(wú)法將其做的很完善,所以我們的系統(tǒng)還有一些想到但沒(méi)能完成的功能,不過(guò)我們會(huì)記住這些缺陷,在后面的學(xué)習(xí)中進(jìn)一步攻破。最后,再次感謝老師對(duì)我們這一學(xué)期的教育,謝謝!登錄界面源代碼importjava.awt.Dimension;importjava.awt.GridLayout;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JPasswordField;importjavax.swing.JTextField;publicclassLogOn{ publicstaticvoidmain(String[]args)throwsSQLException { finalJFramejfrmlogin=newJFrame("系統(tǒng)登錄"); jfrmlogin.setSize(400,280); DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); jfrmlogin.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2);//設(shè)置框出現(xiàn)的位置 JPanelp1=newJPanel(); p1.add(newJLabel("用戶名:")); finalJTextFieldjtxtuser=newJTextField(14); JPanelp2=newJPanel(); p2.add(newJLabel("密碼:")); finalJPasswordFieldjspwd=newJPasswordField(14); JPanelp3=newJPanel(); finalJButtonjbtUser=newJButton("登錄"); finalJButtonjbtreg=newJButton("注冊(cè)"); JButtonjbtexit=newJButton("退出"); p1.add(jtxtuser); p2.add(jspwd); p3.add(jbtUser); p3.add(jbtreg); p3.add(jbtexit); jbtUser.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente) { Connectionconn=null; ResultSetrs=null; Statementstmt=null; if(e.getSource()==jbtUser) { try{ Class.forName("oracle.jdbc.driver.OracleDriver"); conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123"); stmt=conn.createStatement(); StringUSER_NAME=jtxtuser.getText(); rs=stmt.executeQuery("select*fromTICKET_USERSwhereUSER_NAME='"+jtxtuser.getText()+"'andUSER_PWD='"+jspwd.getText()+"'"); if(rs.next()) { if(USER_NAME.equals("admin")==false) { MainUsermf=newMainUser(); mf.setVisible(true); jfrmlogin.dispose(); } else { MainFramemf=newMainFrame(); mf.setVisible(true); jfrmlogin.dispose(); } } else{ JOptionPane.showMessageDialog(null,"用戶名或密碼不一致,請(qǐng)重新輸入!","系統(tǒng)提示",JOptionPane.ERROR_MESSAGE); jtxtuser.setText(""); jspwd.setText(""); } }catch(Exceptionex){ JOptionPane.showMessageDialog(null,"用戶名或密碼不一致,請(qǐng)重新輸入!","系統(tǒng)提示",JOptionPane.ERROR_MESSAGE); jtxtuser.setText(""); jspwd.setText(""); } } }}); jbtreg.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente) {Connectionconn=null; ResultSetrs=null; Statementstmt=null; if(e.getSource()==jbtreg) { try{ Class.forName("oracle.jdbc.driver.OracleDriver"); conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123"); stmt=conn.createStatement(); rs=stmt.executeQuery("insertintoTICKET_USERS(USER_NAME,USER_PWD)values('"+jtxtuser.getText()+"','"+jspwd.getText()+"')"); if(rs.next()) { JOptionPane.showMessageDialog(null,"你已成功注冊(cè)!可以登錄了!","系統(tǒng)提示",JOptionPane.INFORMATION_MESSAGE); jtxtuser.setText(""); jspwd.setText(""); } else{ JOptionPane.showMessageDialog(null,"用戶注冊(cè)失敗!","系統(tǒng)提示",JOptionPane.ERROR_MESSAGE); jtxtuser.setText(""); jspwd.setText(""); } }catch(Exceptionex){ JOptionPane.showMessageDialog(null,"用戶注冊(cè)失??!","系統(tǒng)提示",JOptionPane.ERROR_MESSAGE); jtxtuser.setText(""); jspwd.setText(""); } } }});jbtexit.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ System.exit(0); } });jfrmlogin.getContentPane().setLayout(newGridLayout(3,1)); jfrmlogin.getContentPane().add(p1); jfrmlogin.getContentPane().add(p2); jfrmlogin.getContentPane().add(p3); jfrmlogin.setVisible(true); }}連接數(shù)據(jù)庫(kù)代碼importjava.sql.*;publicclassConnectOracle{publicstaticvoidconnection(String[]args)throwsSQLException{//Connectionconn=null;//Statementstmt=null;//ResultSetrs=null;//JDBC直連Oracle數(shù)據(jù)庫(kù)加載驅(qū)動(dòng)try{System.out.println("正在連接數(shù)據(jù)庫(kù).......");Class.forName("oracle.jdbc.driver.OracleDriver");/*conn=*/DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123");System.out.println("已經(jīng)連接到數(shù)據(jù)庫(kù).....");//stmt=conn.createStatement();//stmt.executeQuery("insertintostudent(STUID,STUNAME,SEX,AGE)values(0001,'李華','男',20)");//rs=stmt.executeQuery("select*fromSTUDENT");//System.out.println("stuID"+"StuName"+"Sex"+"Age");//while(rs.next()){//intSTUID=rs.getInt("STUID");//StringSTUNAME=rs.getString("STUNAME");//StringSEX=rs.getString("SEX");//intAGE=rs.getInt("AGE");//System.out.println(""+STUID+""+STUNAME+""+SEX+""+AGE);//System.out.println("STUID"+STUID+"STUNAME"+STUNAME+"SEX"+SEX+"AGE"+AGE);//}}catch(Exceptionex){//System.out.println("出現(xiàn)的異常為"+ex);;}}}增加票源代碼importjava.awt.Rectangle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjavax.swing.JButton;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassAddTicketextendsJPanelimplementsActionListener{ Connectioncon; Statementst; JLabeljLabel1=newJLabel("票單價(jià):"); JLabeljLabel2=newJLabel("票日期:"); JTextFieldjTextField1=newJTextField(); JTextFieldjTextField2=newJTextField(); JButtonjButton1=newJButton("確定增加"); publicAddTicket() { try{ jbInit(); } catch(Exceptionexception){ exception.printStackTrace(); } } privatevoidjbInit()throwsException { Class.forName("oracle.jdbc.driver.OracleDriver"); con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123"); this.setLayout(null); jLabel1.setBounds(newRectangle(40,40,64,24)); jLabel2.setBounds(newRectangle(40,100,53,22)); jTextField1.setBounds(newRectangle(102,40,200,30)); jTextField2.setBounds(newRectangle(102,100,200,30)); jButton1.setBounds(newRectangle(120,220,150,32)); jButton1.addActionListener(this); this.add(jLabel1); this.add(jTextField1); this.add(jLabel2); this.add(jTextField2); this.add(jButton1); ResultSetrs=null; st=con.createStatement(); rs=st.executeQuery("select*fromTICKET_TRANSCRIPT"); if(rs.next()) { jTextField1.setText(rs.getString("TICKET_PRICE")); } } publicvoidactionPerformed(ActionEvente) { try{ st=con.createStatement(); st.executeUpdate("deletefromTICKET"); st.executeUpdate("deletefromTICKET_ORDER_FORM"); st.executeUpdate("insertintoTICKETselect*fromTICKET_TRANSCRIPT"); st.executeUpdate("updateTICKETsetTICKET_DATE='"+jTextField2.getText()+"'"); st.executeUpdate("updateTICKETsetTICKET_PRICE='"+jTextField1.getText()+"'"); JOptionPane.showMessageDialog(this,"票增加成功!"); jTextField1.setText(""); jTextField2.setText(""); } catch(Exceptionex){ JOptionPane.showMessageDialog(this,"票增加失?。?); ex.printStackTrace(); } }}管理員查詢票源代碼importjavax.swing.*;importjavax.swing.table.JTableHeader;importjava.awt.Rectangle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.*;publicclassAdminInquireTicketextendsJFrame{ Connectioncon; Statementst;privateJScrollPanescpDemo;privateJTableHeaderjth;privateJTabletabDemo;privateJButtonbtnShow;privateJButtonbtnShow1;publicAdminInquireTicket(){super("華清池售票系統(tǒng)");this.setSize(430,400);this.setLayout(null);this.setLocation(500,180);this.scpDemo=newJScrollPane();this.scpDemo.setBounds(10,50,390,270);this.btnShow=newJButton("顯示票信息");this.btnShow.setBounds(10,10,390,30);this.btnShow1=newJButton("返回");this.btnShow1.setBounds(260,330,120,30);JLabeljLabel1=newJLabel("余票總數(shù):");JTextFieldjTextField1=newJTextField();jLabel1.setBounds(newRectangle(20,330,100,30));jTextField1.setBounds(newRectangle(90,330,70,30));add(this.scpDemo);add(this.btnShow);add(this.btnShow1);this.add(jLabel1); this.add(jTextField1);this.setVisible(true);try{ Class.forName("oracle.jdbc.driver.OracleDriver"); con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123"); ResultSetrs=null; intn=0; st=con.createStatement(); rs=st.executeQuery("select*fromTICKET"); while(rs.next()) { n++; }jTextField1.setText(""+n+"");}catch(Exceptionexception){ exception.printStackTrace(); }this.btnShow1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ MainFramemu=newMainFrame(); mu.setVisible(true); dispose(); }});this.btnShow.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){btnShow_ActionPerformed(ae);}});}publicvoidbtnShow_ActionPerformed(ActionEventae){try{ Class.forName("oracle.jdbc.driver.OracleDriver"); Connectioncon=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123");Stringsql="select*fromTICKET";PreparedStatementpstm=con.prepareStatement(sql);ResultSetrs=pstm.executeQuery();intcount=0;while(rs.next()){count++;}rs=pstm.executeQuery();Object[][]info=newObject[count][4];count=0;while(rs.next()){info[count][0]=rs.getString("TICKET_NUM");info[count][1]=rs.getString("TICKET_DATE");info[count][2]=rs.getString("TICKET_PRICE");count++;}String[]title={"票號(hào)","日期","票價(jià)"};this.tabDemo=newJTable(info,title);this.jth=this.tabDemo.getTableHeader();this.scpDemo.getViewport().add(tabDemo);}catch(ClassNotFoundExceptioncnfe){JOptionPane.showMessageDialog(null,"查詢失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);}catch(SQLExceptionsqle){JOptionPane.showMessageDialog(null,"查詢失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE);}}}購(gòu)票源代碼importjava.awt.Rectangle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjavax.swing.JButton;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassBuyTicketextendsJPanelimplementsActionListener{ Connectioncon; Statementst; JLabeljLabel1=newJLabel("用戶名:"); JLabeljLabel2=newJLabel("票編號(hào):"); JLabeljLabel3=newJLabel("票單價(jià):"); JLabeljLabel4=newJLabel("票日期:"); JTextFieldjTextField1=newJTextField(); JTextFieldjTextField2=newJTextField(); JTextFieldjTextField3=newJTextField(); JTextFieldjTextField4=newJTextField(); JButtonjButton1=newJButton("確定購(gòu)買(mǎi)"); publicBuyTicket() { try{ jbInit(); } catch(Exceptionexception){ exception.printStackTrace(); } } privatevoidjbInit()throwsException { Class.forName("oracle.jdbc.driver.OracleDriver"); con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123"); this.setLayout(null); jLabel1.setBounds(newRectangle(40,40,64,24)); jLabel2.setBounds(newRectangle(40,100,53,22)); jLabel3.setBounds(newRectangle(40,160,61,27)); jLabel4.setBounds(newRectangle(40,220,61,27)); jTextField1.setBounds(newRectangle(102,40,200,30)); jTextField2.setBounds(newRectangle(102,100,200,30)); jTextField3.setBounds(newRectangle(102,160,200,33)); jTextField4.setBounds(newRectangle(102,220,200,33)); jButton1.setBounds(newRectangle(120,300,150,32)); jButton1.addActionListener(this); this.add(jLabel1); this.add(jTextField1); this.add(jLabel2); this.add(jTextField2); this.add(jLabel3); this.add(jTextField3); this.add(jLabel4); this.add(jTextField4); this.add(jButton1); ResultSetrs=null; st=con.createStatement(); rs=st.executeQuery("select*from(selectrownumnum,a.*fromTICKETa)wherenum=(selectcount(1)fromTICKET)"); if(rs.next()) { jTextField2.setText(rs.getString("TICKET_NUM")); jTextField3.setText(rs.getString("TICKET_PRICE")); jTextField4.setText(rs.getString("TICKET_DATE")); } } publicvoidactionPerformed(ActionEvente) { if(e.getSource()==jButton1) { try{ st.executeUpdate("insertintoTICKET_ORDER_FORMvalues('"+jTextField1.getText()+"','"+jTextField2.getText()+"','"+jTextField4.getText()+"','"+jTextField3.getText()+"')"); st.executeUpdate("deletefromTICKETwhereTICKET_NUM='"+jTextField2.getText()+"'"); JOptionPane.showMessageDialog(this,"購(gòu)票成功!"); jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); } catch(Exceptionex){ JOptionPane.showMessageDialog(this,"購(gòu)票失??!"); ex.printStackTrace(); } } }}用戶查詢票源代碼importjava.awt.Rectangle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassInquireTicketextendsJPanelimplementsActionListener{ Connectioncon; Statementst; JLabeljLabel1=newJLabel("余票數(shù):"); JTextFieldjTextField1=newJTextField(); JLabeljLabel2=newJLabel("票價(jià):"); JTextFieldjTextField2=newJTextField(); JLabeljLabel3=newJLabel("日期:"); JTextFieldjTextField3=newJTextField(); publicInquireTicket() { try{ jbInit(); } catch(Exceptionexception){ exception.printStackTrace(); } } privatevoidjbInit()throwsException { Class.forName("oracle.jdbc.driver.OracleDriver"); con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","123"); this.setLayout(null);jLabel1.setBounds(newRectangle(40,50,64,24)); jTextField1.setBounds(newRectangle(102,50,200,30)); jLabel2.setBounds(newRectangle(40,100,64,24)); jTextField2.setBounds(newRectangle(102,100,200,30)); jLabel3.setBounds(newRectangle(40,150,64,24)); jTextField3.setBounds(newRectangle(102,150,200,30)); this.add(jLabel1); this.add(jTextField1); this.add(jLabel2); this.add(jTextField2); this.add(jLabel3); this.add(jTextField3); ResultSetrs=null; intcount=0; st=con.createStatement(); rs=st.executeQuery("select*fromTICKET"); while(rs.next()) { jTextField2.setText(rs.getString("TICKET_PRICE")); jTextField3.setText(rs.getString("TICKET_DATE")); count++; } jTextField1.setText(""+count+""); } publicvoidactionPerformed(ActionEvente) { }}管理員端主框架源代碼importjava.awt.Dimension;importjava.awt.Font;importjava.awt.Rectangle;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JOptionPane;importjavax.swing.JPanel;publicclassMainFrameextendsJFrameimplementsActionListener{JPanelcontentPane; JMenuBarjMenuBar1=newJMenuBar(); JMenujMenu0=newJMenu("系統(tǒng)"); JMenuItemjMenuItem0=newJMenuItem("退出"); JMenujMenu1=newJMenu("增加票"); JMenuItemjMenuItem1=newJMenuItem("增加票"); JMenujMenu2=newJMenu("修改票"); JMenuItemjMenuItem2=newJMenuItem("修改票"); JMenujMenu3=newJMenu("查詢票"); JMenuItemjMenuItem3=newJMenuItem("查詢票"); JLabeljLabel1=newJLabel("華清池售票系統(tǒng)(管理員)"); JLabeljLabel2=newJLabel("延安大學(xué)軟件12課程設(shè)計(jì)"); publicMainFrame() { try{ setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } catch(Exceptionexception){ exception.printStackTrace(); } } privatevoidjbInit()throwsException { contentPane=(JPanel)getContentPane(); contentPane.setLayout(null); DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-360)/2); setSize(newDimension(400,420)); setTitle("華清池售票系統(tǒng)"); jMenuItem0.addActionListener(this); jMenuItem1.addActionListener(this); jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this); setJMenuBar(jMenuBar1); jMenuBar1.add(jMenu0); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenuBar1.add(jMenu3); jMenu0.add(jMenuItem0); jMenu1.add(jMenuItem1); jMenu2.add(jMenuItem2); jMenu3.add(jMenuItem3); contentPane.add(jLabel1); contentPane.add(jLabel2); jLabel1.setFont(newjava.awt.Font("黑體",Font.BOLD,20)); jLabel1.setBounds(newRectangle(65,70,275,55)); jLabel2.setFont(newjava.awt.Font("黑體",Font.BOLD,16)); jLabel2.setBounds(newRectangle(90,150,200,35)); } publicvoidactionPerformed(ActionEventactionEvent) { if(actionEvent.getSource()==jMenuItem0) { JOptionPane.showMessageDialog(null,"您已成功退出系統(tǒng)!","系統(tǒng)提示",JOptionPane.CANCEL_OPTION); System.exit(0); } if(actionEvent.getSource()==jMenuItem1) { AddTicketAddT=newAddTicket(); this.remove(this.getContentPane()); this.setContentPane(AddT); this.setVisible(true); } if(actionEvent.getSource()==jMenuItem2) { ModifyTicketAddT=newModifyTicket(); this.remove(this.getContentPane()); this.setContentPane(AddT); this.setVisible(true); } if(actionEvent.getSource()==jMenuItem3) { this.setVisible(false); AdminInquireTicketAddT=newAdminInquireTicket(); this.remove(this.getContentPane()); this.setContentPane(AddT); this.setVisible(true); } }}用戶端主框架源代碼importjava.awt.Dimension;importjava.awt.Font;importjava.awt.Rectangle;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JOptionPane;importjavax.swing.JPanel;publicclassMainUserextendsJFrameimplementsActionListener{ JPanelcontentPane; JMenuBarjMenuBar1=newJMenuBar(); JMenujMenu0=newJMenu("系統(tǒng)"); JMenuItemjMenuItem0=newJMenuItem("退出"); JMenujMenu1=newJMenu("購(gòu)票"); JMenuItemjMenuItem1=newJMenuItem("購(gòu)票"); JMenujMenu2=newJMenu("查詢余票"); JMenuItemjMenuItem2=newJMenuItem("查詢余票"); JMenujMenu3=newJMenu("我的訂票"); JMenuItemjMenuItem3=newJMenuItem("我的訂票"); JLabeljLabel1=newJLabel("華清池售票系統(tǒng)(游客)"); JLabeljLabel2=newJLabel("延安大學(xué)軟件12課程設(shè)計(jì)"); publicMainUser() { try{ setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } catch(Exceptionexception){ exception.printStackTrace(); } } privatevoidjbInit()throwsException { contentPane=(JPanel)getContentPane(); contentPane.setLayout(null); DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-340)/2); setSize(newDimension(400,420)); setTitle("華清池售票系統(tǒng)"); jMenuItem0.addActionListener(this); jMenuItem1.addActionListener(this); jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this); setJMenuBar(jMenuBar1); jMenuBar1.add(jMenu0); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenuBar1.add(jMenu3); jMenu0.add(jMenuItem0); jMenu1.add(jMenuItem1); jMenu2.add(jMenuItem2); jMenu3.add(jMenuItem3); contentPane.add(jLabel1); contentPane.add(jLabel2); jLabel1.setFont(newjava.awt.Font("黑體",Font.BOLD,20)); jLabel1.setBounds(newRectangle(65,70,275,55)); jLabel2.setFont(newjava.awt.Font("黑體",Font.BOLD,16)); jLabel2.setBounds(newRectangle(90,150,200,35)); } publicvoidactionPerformed(ActionEventactionEvent) { if(actionEvent.getSource()==jMenuItem0) { JOptionPane.showMessageDialog(null,"您已成功退出系統(tǒng)!","系統(tǒng)提示",JOptionPane.CANCEL_OPTION); System.exit(0); } if(actionEvent.getSource()==jMenuItem1) { BuyTicketAddT=newBuyTicket(); this.remove(this.getContentPane()); this.setContentPane(AddT); this.setVisible(true); } if(actionEvent.getSource()==jMenuItem2) { InquireTicketAddT=newInquireTicket(); this.remove(this.getContentPane()); this.setContentPane(AddT); this.setVisible(true); } if(actionEvent.getSource()==jMenuItem3) { this.setVisible(false); MyTicketAddT=newMyTicket(); this.remove(this.getContentPane()); this.setContentPane(AddT); this.setVisible(true); } }}管理員端修改票信息源代碼importjava.awt.Rectangle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjavax.swing.JButton;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassModifyTicketexten
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年葡萄酒品酒員試題及答案
- 2025年中醫(yī)把脈考試試題及答案
- 2025年測(cè)試常考面試題及答案
- 2025年地理老師考試試題及答案
- 2025年民事法律知識(shí)試題及答案
- 2025年土壤學(xué)考博試題及答案
- 2025年聊城中考地理試題及答案
- 2025年同類(lèi)項(xiàng)考試題及答案
- 2025年轉(zhuǎn)崗文職面試試題及答案
- 2025年設(shè)備部面試試題及答案
- 安徽2025年安徽醫(yī)科大學(xué)第一附屬醫(yī)院臨床醫(yī)技護(hù)理管理崗位招聘156人筆試歷年參考題庫(kù)附帶答案詳解
- 傳染病習(xí)題庫(kù)與參考答案
- 旅游景區(qū)股份合作開(kāi)發(fā)協(xié)議書(shū)范本
- 2025年湖南有色金屬職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)匯編
- 2025年湖南信息職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 學(xué)情分析方案及學(xué)情分析報(bào)告范文
- 《CRISPR-Cas9及基因技術(shù)》課件
- 【博觀研究院】2025年跨境進(jìn)口保健品市場(chǎng)分析報(bào)告
- 游戲直播平臺(tái)推廣合作協(xié)議
- 《高科技服裝與面料》課件
- 2025中國(guó)船舶集團(tuán)限公司招聘高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
評(píng)論
0/150
提交評(píng)論