學(xué)生選課系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)_第1頁
學(xué)生選課系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)_第2頁
學(xué)生選課系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)_第3頁
學(xué)生選課系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)_第4頁
學(xué)生選課系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:INTERNE網(wǎng)是目前全球最大的計(jì)算機(jī)通信網(wǎng),它普及全球幾乎所有的國家和地區(qū)。系統(tǒng)是一個(gè)大型的分布式超媒體信息數(shù)據(jù)庫,它極推動了INTERNET的開展,已經(jīng)成為INERNET中最流行、最主要的信息效勞方式。技術(shù)只所以能在全球普及,一個(gè)重要的原因就是他與數(shù)據(jù)庫管理系統(tǒng)相互融合,成為一個(gè)處理和共享信息的強(qiáng)大工具。一方面,數(shù)據(jù)庫是一種強(qiáng)大的信息管理工具,另一方面提供了共享數(shù)據(jù)的方法。兩者強(qiáng)強(qiáng)聯(lián)合取長補(bǔ)短,發(fā)揮各自優(yōu)勢,使用戶可以在WEB瀏覽器上方便地檢索數(shù)據(jù)庫的容。因此隨著Internet的開展,以往的手工隨堂選課不僅復(fù)雜,也牽扯了很多人力以及統(tǒng)計(jì)數(shù)據(jù)

2、的繁瑣。為了減輕教務(wù)處工作,以及每個(gè)學(xué)生更好的選擇自己所喜歡的科目。針對學(xué)生選課這一環(huán)節(jié),本系統(tǒng)從學(xué)生網(wǎng)上自主選課已經(jīng)教師課程發(fā)布兩大方面進(jìn)展了設(shè)計(jì),根本實(shí)現(xiàn)了教師的課程發(fā)布,學(xué)生在線信息查詢,選課功能以及教師課程管理等功能。本文使用了Visual Studio 2021和SQL Server 2005作為開發(fā)工具,進(jìn)展實(shí)驗(yàn)開發(fā)制作。本系統(tǒng)可以方便教師、學(xué)生更方便的選課。實(shí)現(xiàn)全校學(xué)生選課在線查詢。還可以對新來的學(xué)生信息進(jìn)展信息錄入。由于學(xué)生上課情況復(fù)雜,可以實(shí)現(xiàn)信息修改,及時(shí)調(diào)整學(xué)生的根本情況。關(guān)鍵詞:INTERNE 學(xué)生 選課 數(shù)據(jù)庫目錄 TOC o 1-3 h z u HYPERLINK

3、l _Toc3000048151引言 PAGEREF _Toc300004815 h 4HYPERLINK l _Toc3000048161.1系統(tǒng)意義 PAGEREF _Toc300004816 h 4HYPERLINK l _Toc3000048171.2 系統(tǒng)功能要求 PAGEREF _Toc300004817 h 4HYPERLINK l _Toc300004818用戶功能說明 PAGEREF _Toc300004818 h 4HYPERLINK l _Toc3000048191.2.2 登陸模塊 PAGEREF _Toc300004819 h 4HYPERLINK l _Toc300

4、0048202.數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc300004820 h 4HYPERLINK l _Toc3000048212.1 數(shù)據(jù)庫概念 PAGEREF _Toc300004821 h 4HYPERLINK l _Toc3000048222.2 數(shù)據(jù)庫使用的工具 PAGEREF _Toc300004822 h 5HYPERLINK l _Toc3000048232.3 系統(tǒng)概念模型 PAGEREF _Toc300004823 h 6HYPERLINK l _Toc3000048242.4數(shù)據(jù)庫邏輯設(shè)計(jì) PAGEREF _Toc300004824 h 7HYPERLINK l _Toc

5、3000048252.5 數(shù)據(jù)庫的物理實(shí)現(xiàn) PAGEREF _Toc300004825 h 7HYPERLINK l _Toc3000048262.5.1 數(shù)據(jù)庫表 PAGEREF _Toc300004826 h 7HYPERLINK l _Toc300004827數(shù)據(jù)庫存儲過程: PAGEREF _Toc300004827 h 8HYPERLINK l _Toc3000048283系統(tǒng)使用 PAGEREF _Toc300004828 h 12HYPERLINK l _Toc3000048293.1登陸 PAGEREF _Toc300004829 h 12HYPERLINK l _Toc300

6、0048303.2 學(xué)生選課系統(tǒng)注冊 PAGEREF _Toc300004830 h 15HYPERLINK l _Toc3000048313.3 學(xué)生選課 PAGEREF _Toc300004831 h 19HYPERLINK l _Toc3000048323.4查詢 PAGEREF _Toc300004832 h 22HYPERLINK l _Toc300004833總結(jié) PAGEREF _Toc300004833 h 25HYPERLINK l _Toc300004834參考文獻(xiàn) PAGEREF _Toc300004834 h 26引言1.1系統(tǒng)意義學(xué)生選課系統(tǒng)是一個(gè)學(xué)校不可缺少的局部,

7、它的容對于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠砣藗兪褂脗鹘y(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大功能已為人們深刻認(rèn)識,它已經(jīng)入人類社會的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對選課信息進(jìn)展管理,有著手工管理所無法比較的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲量大、性好、壽命長、本錢低等。這些優(yōu)點(diǎn)能夠極提高人事勞資管理的效率,也是企

8、業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套軟件成為很有必要的事情。1.2 系統(tǒng)功能要求本系統(tǒng)用戶分為3類:學(xué)生;教師;管理者。用戶功能說明 學(xué)生: 可以查看選修的課程、已完成的課程、課程教師的信息等 教師: 可以查看課程的時(shí)間、該門課程學(xué)生選修信息、課程信息 管理者:可以管理學(xué)生以及教師信息,登陸模塊用于用戶登陸,完成根本的驗(yàn)證,根據(jù)所填信息進(jìn)展判斷,進(jìn)展劃分。2.數(shù)據(jù)庫設(shè)計(jì)2.1 數(shù)據(jù)庫概念數(shù)據(jù)庫是從60年代初開展起來的計(jì)算機(jī)技術(shù)。經(jīng)過五十來年的開展,數(shù)據(jù)庫技術(shù)已經(jīng)趨于成熟。WEB數(shù)據(jù)庫在新的INTERNET環(huán)境中發(fā)生了很大的變化。就數(shù)據(jù)應(yīng)用而言呈現(xiàn)出多樣化的空間,如數(shù)

9、字圖書館、電子出版物、電子商務(wù)、遠(yuǎn)程教育系統(tǒng)等的出現(xiàn),給WEB數(shù)據(jù)庫技術(shù)提出了更多、更高的要求。同時(shí),隨著國高校校園網(wǎng)的建立,基于互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)的開發(fā)正在蓬勃開展并發(fā)揮著較大的作用。例如,我國許多高校的網(wǎng)上招生系統(tǒng),學(xué)校的各種管理信息系統(tǒng),學(xué)校選課系統(tǒng),還有一些醫(yī)學(xué)院校開發(fā)出的網(wǎng)上診所、遠(yuǎn)程診斷系統(tǒng)等等,都是基于校園網(wǎng)的應(yīng)用系統(tǒng)。國外的教學(xué)科研軟件與國相比開發(fā)的早而且比較成熟。早在七十年代末,美國就建成了NSFNER國家科學(xué)基金網(wǎng),其客體的申報(bào)及課題的進(jìn)展情況匯報(bào)都在網(wǎng)上進(jìn)展。其網(wǎng)上教學(xué)教務(wù)管理系統(tǒng)也十分完善,世界各地的學(xué)生可以坐在家里通過互聯(lián)網(wǎng)完成入學(xué)報(bào)名、選課、考試、畢業(yè)論文、取得學(xué)位這

10、一學(xué)習(xí)生活的全過程。目前,國際上已具規(guī)模的遠(yuǎn)程教育學(xué)校就有數(shù)百所之多,網(wǎng)上教育正在各地發(fā)揮著巨大的作用,為世界各國培養(yǎng)出大筆人才。所有這些都說明,基于INTERNET的校園網(wǎng)的應(yīng)用與深入到校園的各個(gè)方面。在高等學(xué)校的教務(wù)管理工作中,課程表的編排是一項(xiàng)十分復(fù)雜、棘手的工作。在排課過程中,除了滿足大量的制約條件以外,還必須解決許多沖突于矛盾,例如:兩位教師不能同一時(shí)間在同一班級上課、一位教師不能在同一時(shí)間上兩門課等等。利用計(jì)算機(jī)輔助進(jìn)展課表編排工作,既提高了排課工作的科學(xué)性,又可大大減輕管理人員的工作強(qiáng)度,提供工作效率,從而使學(xué)校教務(wù)管理現(xiàn)代化邁上了一個(gè)新臺階。我國不少高校都實(shí)行了學(xué)分制,它的核心

11、是允許學(xué)生自由選課,即把學(xué)習(xí)的自主權(quán)交給學(xué)生。在這里,學(xué)生選課時(shí)的制約因素比較復(fù)雜,工作量也很大,而且往往需要在較短的時(shí)間完成。運(yùn)用計(jì)算機(jī)輔助選課,既能實(shí)時(shí)地對大量選課數(shù)據(jù)進(jìn)展檢驗(yàn)和統(tǒng)計(jì),十分方便地輸出選課結(jié)果,同時(shí)也防止了人工處理時(shí)容易產(chǎn)生的錯(cuò)誤。從系統(tǒng)開發(fā)的復(fù)雜程度來看,計(jì)算機(jī)輔助排課與選課是高校教務(wù)系統(tǒng)中的兩個(gè)關(guān)鍵子系統(tǒng),目前不少教務(wù)系統(tǒng)尚未很好地解決排課與選課問題。本文主要對高校教務(wù)管理系統(tǒng)中計(jì)算機(jī)課程表與選課子系統(tǒng)的根本功能、設(shè)計(jì)思想、需求分析以及實(shí)現(xiàn)技術(shù)進(jìn)展探討。我想大家肯定都經(jīng)歷過學(xué)生時(shí)代,也許很多人還對那個(gè)時(shí)候的選課記憶猶新,每個(gè)學(xué)期都要排著長長的隊(duì)伍去選?,F(xiàn)在我們已經(jīng)進(jìn)入到I

12、NERNET時(shí)代了,選課系統(tǒng)自然也要隨著更新。大學(xué)中,公選課較多,學(xué)生可根據(jù)自己的專業(yè)及興趣選擇公選課程進(jìn)展學(xué)習(xí),本系統(tǒng)將從教學(xué)部門的要求出發(fā),實(shí)現(xiàn)公選課的選擇、查詢與統(tǒng)計(jì)。2.2 數(shù)據(jù)庫使用的工具SQL SERVER 2005是一個(gè)全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能BI工具提供了企業(yè)級的數(shù)據(jù)管理。SQL SERVER 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和構(gòu)造化數(shù)據(jù)提供了更平安可靠的存儲功能。我們可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。SQL SERVER 2005數(shù)據(jù)引擎是企業(yè)數(shù)據(jù)管理解決方案的核心。此外SQL SERVER 2005結(jié)合了分析、報(bào)表、集成和通知功能。與MICRO

13、SOFT VISUAL STUDIO、MICROSOFT OFFICE SYSTEM以及新的開發(fā)工具包包括business intelligence development studio的嚴(yán)密集成使SQL SERVER 2005與眾不同。SQL SERVER 2005 enterprise edition32位和64位enterprise edition到達(dá)了支持超大型企業(yè)進(jìn)展聯(lián)機(jī)事務(wù)處理OLTP、高度復(fù)雜的數(shù)據(jù)分析、數(shù)據(jù)倉庫系統(tǒng)和所需的性能水平。SQL SERVER 2005數(shù)據(jù)庫管理9個(gè)重要特點(diǎn):1數(shù)據(jù)庫鏡像;2在線恢復(fù);3在線檢索操作;4快速恢復(fù);5平安性能的提高;6新的SQL SERV

14、ER MANAGEMENT STUDIO;7專門的管理員連接;8快照隔離;9數(shù)據(jù)分割。2.3 系統(tǒng)概念模型圖2-3-1圖2-3.2圖2-3-3圖2-3-4上圖是學(xué)生選課系統(tǒng)概念模型E/R圖,該系統(tǒng)所涉及的實(shí)體集有:學(xué)生實(shí)體集:具有屬性*、班級。教師實(shí)體集:具有屬性教師號、班級。課程實(shí)體集:具有屬性教師、課程名、編號。管理員實(shí)體集:具有屬性賬號、密碼。2.4數(shù)據(jù)庫邏輯設(shè)計(jì)數(shù)據(jù)庫邏輯設(shè)計(jì)就是將E-R圖轉(zhuǎn)換為關(guān)系模型的過程,即將所有實(shí)體和關(guān)系轉(zhuǎn)換城一系列的關(guān)系模型。轉(zhuǎn)換過程中常見規(guī)則有:一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模型:一個(gè)一對一的聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與任意一端對應(yīng)的關(guān)系模式合并;一個(gè)

15、一對多的聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可以與多個(gè)那一端對應(yīng)的關(guān)系模式合并;一個(gè)多對多的關(guān)系轉(zhuǎn)換城一個(gè)關(guān)系模式。根據(jù)以上四條規(guī)則,下面將E-R圖轉(zhuǎn)換城關(guān)系模型。一個(gè)學(xué)生可以選修多門課程,一個(gè)教師可以開設(shè)多門課程。所以學(xué)生和教師之間是M:N的聯(lián)系。一個(gè)管理員可以管理多個(gè)學(xué)生信息。所以管理員和學(xué)生之間是1:N的聯(lián)系。多個(gè)管理員可以管理多個(gè)教師信息,所以管理員與教師之間是M:N的聯(lián)系。2.5 數(shù)據(jù)庫的物理實(shí)現(xiàn)經(jīng)過數(shù)據(jù)庫系統(tǒng)分析和邏輯設(shè)計(jì)后,數(shù)據(jù)庫的構(gòu)造已經(jīng)非常清晰,剩下的就是用一種數(shù)據(jù)庫軟件實(shí)現(xiàn)這樣的構(gòu)造: 數(shù)據(jù)庫表Logon(登錄密碼 主要用來保存用戶登錄信息字段名數(shù)據(jù)類型長度是否為空是否主鍵

16、UserIDchar10不為空主鍵Passwordrcharr10表2-5-1-1StudentTable1(學(xué)生信息表)主要用來保存學(xué)生信息。字段名數(shù)據(jù)類型長度主鍵否是否為空描述StudentIDChar10主鍵不為空學(xué)生*StudentNameChar10不為空學(xué)生Classchar16所在班級表2-5-1-2TeacherTable1(教師信息表) 用來儲存教師的根本信息字段名數(shù)據(jù)類型長度主鍵否是否為空描述TeacherIDChar10主鍵不為空教師編號TeacherNameChar10不為空教師Departmentchar20所在班級 表2-5-1-3CourseTable(課程信息表

17、)字段名數(shù)據(jù)類型長度主鍵否是否為空描述CourseIDChar16主鍵不為空課程編號CourseNameChar16不為空課程名TeacherNamechar10不為空教師表2-5-1-4數(shù)據(jù)庫存儲過程:AllCourse:create proc AllCourseasbegin select *.CourseID,*.CourseName,*.Point ,y.TeacherName,y.Post,z.Location,*.StuNumber from Course *,TeacherTable1 y,TeachTable z where *.CourseID=z.CourseID and

18、y.TeacherID=z.TeacherIDendDeleteLogon :create proc DeleteLogon(id char(10)asbegin delete from Logon where UserID=idendDeleteStudent:create proc DeleteStudent(id char(10)asbegin delete from StudentTable1 where StudentID=idendDeleteTeacher :create proc DeleteTeacher(id char(10)asbegin delete from Teac

19、herTable1 where TeacherID=idendInsertLogon :create proc InsertLogon(id char(10)asbegin insert into Logon values(id,id)endInsertStudent :createproc InsertStudent(userid char(10),username char(10),se* char(2),birth datetime,class char(10)asbegininsert into StudentTable1 values(userid ,username,se*,bir

20、th,class)endreturnInsertTeacher:create proc InsertTeacher(userid char(10),username char(10),se* char(2),birth datetime,post char(10),department char(10)asbegininsert into TeacherTable1 values(userid ,username,se*,birth,post,department)endreturnIsE*istsStu :create proc IsE*istsStu(id char(10)asbegin

21、select * from StudentTable1 where StudentID=idendIsE*istsTea:create proc IsE*istsTea(id char(10)asbegin select * from Teachertable1 where TeacherID=idendProcAllStu :create proc ProcAllStuasbeginselect * from StudentTable1endProcAllTea create proc ProcAllTeaasbeginselect * from TeacherTable1endProcLo

22、gon:create proc ProcLogon(userid char(16),password char(10)asbegin select * from Logon where UserID=userid and Password=passwordendreturnProcModify:create proc ProcModify(id char(10),password char(16)asbegin update Logon set Password=password where UserID=idendProcStudent :create proc ProcStudent(id

23、 char(10)asbegin select * from StudentTable1 where StudentID=idendSelectCourse :create proc SelectCourse(id char(10),courseid char(16)asbegin insert into ScoreTable values(courseid,id,null)endSelectedCourse:create proc SelectedCourse(id char(10)asbegin select * from ScoreTable where id=StudentIDendS

24、electedCourseNum:create proc SelectedCourseNum(id char(10)asbegin select COUNT(*) from Scoretable where StudentID=idendSelectedDetail :create proc SelectedDetail(id char(10)asbegin select *.CourseID,*.CourseName,*.Point ,y.TeacherName,y.Post,z.Location,s.Score from Course *,TeacherTable1 y,TeachTabl

25、e z,ScoreTable s where id=s.StudentID and *.CourseID=z.CourseID and z.TeacherID=y.TeacherID and *.CourseID=s.CourseIDend3系統(tǒng)使用3.1登陸用戶通過表單提供用戶名和密碼信息,系統(tǒng)根據(jù)用戶提供的登錄信息對用戶進(jìn)展身份查詢鑒別。如果身份合法,則將用戶導(dǎo)向系統(tǒng)的選課頁面。輸入:用戶名、密碼處理:(1) 輸入用戶的登錄信息:在頁面提供的表單出輸入用戶的用戶名和密碼信息,點(diǎn)擊登錄按鈕提交表單信息到身份驗(yàn)證頁面。或點(diǎn)擊重置按鈕,重新輸入。 (2) 用戶身份進(jìn)展驗(yàn)證:連接數(shù)據(jù)庫,翻開用戶數(shù)

26、據(jù)表login,檢驗(yàn)用戶登錄信息。以輸入數(shù)據(jù)用戶名為查詢條件創(chuàng)立數(shù)據(jù)集查看輸入用戶名是否存在。如果存在,繼續(xù)檢驗(yàn)輸入的密碼是否正確。密碼和用戶名都正確,則進(jìn)入選課頁面;如果用戶名不存在或密碼不正確,則給出登錄失敗的提示框。輸出:學(xué)生選課頁面import java.awt.*;import java.awt.event.*;import java*.swing.JOptionPane;import java.sql.*;public class Login e*tends Frame implements ActionListener Frame f,f1; Button b1; Button

27、b2;Button b3; Te*tField t1; Te*tField t2; Label l1; Label l2; Connection con; Statement sql; /聲明Statement對象 ResultSet rs; public Login()f=new Frame(學(xué)生選課系統(tǒng)); Toolkit tool=f.getToolkit();Dimension dim=tool.getScreenSize();f.setBounds(0,0,dim.width,dim.height); Panel p=new Panel(); f.add(p); l1=new Lab

28、el(用戶名); l2=new Label(密碼); t1=new Te*tField(20); t2=new Te*tField(20); b1=new Button(登陸); b2=new Button(取消);b3=new Button(注冊); p.add(l1); p.add(t1); p.add(l2); p.add(t2); p.add(b1); p.add(b2);p.add(b3); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); f.setVisible(

29、true); t2.setEchoChar(*); f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.e*it(0);); public void actionPerformed(ActionEvent e) if(e.getSource()=b1) if(t1.getTe*t().equals()|t2.getTe*t().equals() JOptionPane.showMessageDialog(null,輸入不能為空!); else try Class.forNam

30、e(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundE*ception a) System.out.println(+a); try con=DriverManager.getConnection(jdbc:odbc:sun,); sql=con.createStatement(); rs=sql.e*ecuteQuery(Select * FROM login); /查詢數(shù)據(jù)庫 boolean check = false; while(rs.ne*t() String UserName=rs.getString(1); /獲得數(shù)據(jù)庫第二列

31、String Password=rs.getString(2); /獲得數(shù)據(jù)庫第三列 if(t1.getTe*t().equals(UserName) & t2.getTe*t().equals(Password) /判斷語句 check = true; JOptionPane.showMessageDialog(null,登陸成功!);f.dispose(); new WindowBo*(選課窗口); t1.setTe*t(); t2.setTe*t(); break; if(check = false) JOptionPane.showMessageDialog(null,登陸失敗,請重新

32、輸入!); con.close(); catch(SQLE*ception el) if(e.getSource()=b2) t1.setTe*t(); t2.setTe*t(); if(e.getSource()=b3)f.dispose();new Regist(學(xué)生選課系統(tǒng)注冊界面);public void windowClosing(WindowEvent e) System.e*it(0);public static void main(String args) new Login();3.2 學(xué)生選課系統(tǒng)注冊 圖3-2-1import java.awt.*;import java.

33、awt.event.*;import java*.swing.JOptionPane;import java.sql.*;class Regist e*tends Frame implements ActionListenerLabel lb1, lb2, lb3;Te*tField tf1, tf2, tf3;Button bt1, bt2, bt3;Regist(String s)super(s);setLayout(null);setBounds(0,0,900,900);setVisible(true);setResizable(false);lb1 = new Label(用戶名);

34、lb1.setBounds(150,100,50,20);lb2 = new Label(密碼);lb2.setBounds(150,200,50,20);lb3 = new Label(確認(rèn));lb3.setBounds(150,300,50,20);tf1 = new Te*tField();tf1.setBounds(200,98,200,20);tf2 = new Te*tField();tf2.setBounds(200,198,200,20);tf2.setEchoChar(*);tf3 = new Te*tField();tf3.setBounds(200,298,200,20)

35、;tf3.setEchoChar(*);bt1 = new Button(注冊);bt1.setBounds(200,400,100,40);bt2 = new Button(返回);bt2.setBounds(350,400,100,40);bt3 = new Button(退出);bt3.setBounds(435,400,100,40);add(lb1);add(lb2);add(lb3);add(tf1);add(tf2);add(tf3);add(bt1);add(bt2);add(bt3);tf3.addActionListener(this);bt1.addActionListe

36、ner(this);bt2.addActionListener(this);bt3.addActionListener(this);addWindowListener(new java.awt.event.WindowAdapter()public void windowClosing(java.awt.event.WindowEvent e)System.e*it(0););public void actionPerformed(ActionEvent e)if(e.getSource()= bt1 | e.getSource()= tf1 | e.getSource()= tf2 | e.

37、getSource()= tf3)if(tf1.getTe*t().equals()| tf2.getTe*t().equals() | tf3.getTe*t().equals()JOptionPane.showMessageDialog(this,請輸入用戶名和密碼,提示,JOptionPane.ERROR_MESSAGE);/判斷文本容語句elseif(tf2.getTe*t().equals(tf3.getTe*t()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con;Statement sq;ResultSet

38、r;String u, p;con = DriverManager.getConnection(jdbc:odbc:sun,null,null);sq=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);r = sq.e*ecuteQuery(SELECT * FROM login);while(r.ne*t() u =r.getString(1); if(tf1.getTe*t().equals(u) JOptionPane.showMessageDialog(this,用戶已存在

39、,錯(cuò)誤,JOptionPane.ERROR_MESSAGE); con.close(); break; /判斷用戶是否存在 else if(r.isLast()/判斷是否已經(jīng)讀完整個(gè)表 u = tf1.getTe*t(); p = tf2.getTe*t(); sq.e*ecuteUpdate(INSERT INTO login(UserName,Password) VALUES(+u+,+p+);/寫入用戶信息 JOptionPane.showMessageDialog(this,注冊成功,提示,JOptionPane.INFORMATION_MESSAGE); con.close(); d

40、ispose(); new Login(); break; tf1.setTe*t(null);tf2.setTe*t(null);tf3.setTe*t(null);catch(SQLE*ception b)JOptionPane.showMessageDialog(this,b,錯(cuò)誤,JOptionPane.ERROR_MESSAGE);catch(ClassNotFoundE*ception a)JOptionPane.showMessageDialog(this,a,錯(cuò)誤,JOptionPane.ERROR_MESSAGE);elseJOptionPane.showMessageDia

41、log(this,兩次密碼不一致,提示,JOptionPane.ERROR_MESSAGE);tf2.setTe*t(null);tf3.setTe*t(null);else if(e.getSource()= bt3)System.e*it(0);else if(e.getSource()= bt2)dispose();new Login();public class *uhanting1public static void main(String args)new Regist(學(xué)生選課系統(tǒng)注冊界面);3.3 學(xué)生選課 圖3-3-1import java.awt.*;import java

42、.awt.event.*;import java.sql.*;class WindowBo* e*tends Frame implements ActionListener,ItemListener Checkbo* bo*1,bo*2,bo*3,bo*4,bo*5,bo*6; Label l1;Label l2;Te*tField t1;Label l3;Te*tField t2;Te*tArea t = new Te*tArea();Button b1,b2;WindowBo*(String s)super(s);setLayout(new FlowLayout();l2=new Labe

43、l(*); t1=new Te*tField(10);l3=new Label();t2=new Te*tField(10);b1=new Button(確定);b2=new Button(重置);l1=new Label(所選課程);bo*1=new Checkbo*(離散數(shù)學(xué),false);bo*2=new Checkbo*(匯編語言,false);bo*3=new Checkbo*(java語言設(shè)計(jì),false);bo*4=new Checkbo*(軟件工程,false);bo*5=new Checkbo*(操作系統(tǒng),false);bo*6=new Checkbo*(馬克思政治學(xué),fal

44、se);bo*1.addItemListener(this);bo*2.addItemListener(this);bo*3.addItemListener(this);bo*4.addItemListener(this);bo*5.addItemListener(this);bo*6.addItemListener(this);add(l2);add(t1);add(l3);add(t2);add(b1);add(b2);add(l1);add(bo*1);add(bo*2);add(bo*3);add(bo*4);add(bo*5);add(bo*6);add(t);b1.addActio

45、nListener(this);b2.addActionListener(this);setSize(500,500);setVisible(true);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.e*it(0););validate();public void itemStateChanged(ItemEvent e)Checkbo* bo*=(Checkbo*)e.getSource();if(bo*.getState()int n=t.getCaretPositio

46、n();t.insert(bo*.getLabel(),n);elset.setTe*t();public void actionPerformed(ActionEvent a) if(a.getSource()=b1) Connection con;Statement sql;ResultSet rs;String number1,name1,lesson1, recode,insertStr;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundE*ception g)System.out.println(+g)

47、;trycon=DriverManager.getConnection(jdbc:odbc:sun,);sql=con.createStatement();number1=t1.getTe*t();name1=t2.getTe*t();lesson1=t.getTe*t();recode=(+number1+,+name1+,+lesson1+);insertStr=INSERT INTO kechengbiao values+recode; sql.e*ecuteUpdate(insertStr);con.close();dispose(); RuanJian rj=new RuanJian

48、(查詢窗口); catch(SQLE*ception h) System.out.println(h);else if(a.getSource()=b2) t1.setTe*t();t2.setTe*t();t.setTe*t();public class *uhanting3public static void main(String args)new WindowBo*(選課窗口);3.4查詢 圖3-4-1import java.awt.*;import java.awt.event.*;import java.sql.*;import java*.swing.JOptionPane; c

49、lass RuanJian e*tends Frame implements ActionListenerLabel lab1;Te*tField te*t1;Button b1,b2;Te*tArea t=new Te*tArea();RuanJian(String s)setTitle(s);setLayout(null);lab1=new Label(請輸入*);te*t1=new Te*tField(10);b1=new Button(確定);b1.addActionListener(this);b2=new Button(重置);b2.addActionListener(this);

50、lab1.setBounds(120,100,100,30);te*t1.setBounds(250,100,200,30);b1.setBounds(220,180,50,30);b2.setBounds(320,180,50,30);t.setBounds(100,250,380,300);add(lab1);add(te*t1);add(b1);add(b2);add(t);setBounds(100,100,600,600);setVisible(true);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.e*it(0);); validate

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論