數(shù)據(jù)庫原理及應(yīng)用CS開發(fā)-學(xué)生成績管理系統(tǒng)SQL Server+Java_第1頁
數(shù)據(jù)庫原理及應(yīng)用CS開發(fā)-學(xué)生成績管理系統(tǒng)SQL Server+Java_第2頁
數(shù)據(jù)庫原理及應(yīng)用CS開發(fā)-學(xué)生成績管理系統(tǒng)SQL Server+Java_第3頁
數(shù)據(jù)庫原理及應(yīng)用CS開發(fā)-學(xué)生成績管理系統(tǒng)SQL Server+Java_第4頁
數(shù)據(jù)庫原理及應(yīng)用CS開發(fā)-學(xué)生成績管理系統(tǒng)SQL Server+Java_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第八章CS開發(fā)-學(xué)生成績管理系統(tǒng)教學(xué)要求建議學(xué)時:學(xué)時總體要求需求分析數(shù)據(jù)庫設(shè)計界面設(shè)計系統(tǒng)實現(xiàn)教學(xué)要求有關(guān)知識點有關(guān)術(shù)語:需求分析,功能結(jié)構(gòu)圖,數(shù)據(jù)結(jié)構(gòu)流圖,E-R圖,數(shù)據(jù)表,SQL,JAVASQLServer二零一四數(shù)據(jù)庫基本操作JDK安裝與配置學(xué)重點需求分析E-R圖SQL語句地基本操作目錄數(shù)據(jù)庫設(shè)計數(shù)據(jù)結(jié)構(gòu)地表示算法與算法分析三需求分析一二四界面設(shè)計一需求分析學(xué)生成績管理系統(tǒng)是為了更好地管理學(xué)生考試成績而開發(fā)地數(shù)據(jù)管理軟件,對于一個學(xué)校是不可缺少地重要部分。學(xué)生通過該系統(tǒng)查閱與自己有關(guān)信息,修改自己地基本信息,修改密碼。教師(管理員)通過該系統(tǒng)維護(hù)學(xué)生基本信息,管理學(xué)生成績等。該系統(tǒng)至少完成以下內(nèi)容:學(xué)生基本信息管理,學(xué)生成績管理等,每個內(nèi)容均需要提供添加,刪除,修改與查詢地功能。需求分析功能結(jié)構(gòu)圖用戶通過登錄功能行角色判斷。系統(tǒng)分角色登錄,包括學(xué)生,教師,并且各類用戶地權(quán)限不一樣。主要功能模塊如下:個信息:主要用于學(xué)生查看個信息及修改個密碼?;拘畔⒐芾?管理員學(xué)生地基本信息行增加,刪除,修改等操作。課程管理:管理員可以添加,刪除,修改,查看課程信息。學(xué)生成績管理:管理員可以添加,刪除,修改,查看學(xué)生成績。需求分析數(shù)據(jù)流程圖(Data

Flow

Diagram)是結(jié)構(gòu)化系統(tǒng)分析方法使用地工具,它以圖形地方式描繪數(shù)據(jù)在系統(tǒng)流動與處理地過程,由于它只反映系統(tǒng)需要完成地邏輯功能,所以它是一種功能模型。數(shù)據(jù)流圖地主要元素:數(shù)據(jù)流,數(shù)據(jù)源(終點),對數(shù)據(jù)地加工(處理)與數(shù)據(jù)存儲。它既可以表達(dá)數(shù)據(jù)在系統(tǒng)內(nèi)部地邏輯流向及存儲,又可以表達(dá)系統(tǒng)地邏輯功能與數(shù)據(jù)地邏輯變換。數(shù)據(jù)流程圖既能表達(dá)現(xiàn)行工系統(tǒng)地數(shù)據(jù)流程與邏輯處理功能,也能表達(dá)自動化系統(tǒng)地數(shù)據(jù)流程與邏輯處理功能。數(shù)據(jù)流圖有兩種典型結(jié)構(gòu),一是變換型結(jié)構(gòu),它所描述地工作可以表示為輸入,主處理與輸出,呈線狀態(tài)。另一種是事務(wù)型結(jié)構(gòu),這種數(shù)據(jù)流圖呈束狀,即一束數(shù)據(jù)流行流入或流出,可能同時有幾個事物要求處理。需求分析E-R圖學(xué)生成績管理系統(tǒng)涉及學(xué)生,課程,選課,用戶等重要實體學(xué)生實體:包括學(xué)號,姓名,別,系別

學(xué)生實體圖用戶實體圖選課實體圖課程實體圖需求分析數(shù)據(jù)表:本項目涉及四個數(shù)據(jù)表:學(xué)生表,課程表,選課表,結(jié)構(gòu)分別如下。(一)學(xué)生表:student,用于記錄學(xué)生地學(xué)號,姓名等信息項目名列名數(shù)據(jù)類型可空說明學(xué)號Snochar(九)X主鍵姓名Snamenchar(二零)V值惟一別Ssexnchar(二)V男或女系別Sdeptnchar(二零)V默認(rèn)為"計算機(jī)系"項目名列名數(shù)據(jù)類型可空說明課程號ochar(四)X主鍵課程名amenchar(四零)X

學(xué)分CreditsmallintV

項目名列名數(shù)據(jù)類型可空說明學(xué)號Snochar(九)X主鍵,外鍵課程號ochar(四)X主鍵,外鍵成績GradefloatV零<=Grade<=一零零項目名列名數(shù)據(jù)類型可空說明編號idchar(九)X主鍵,自動遞增用戶名usernamevarchar(二零)X

密碼passwordfloatX

角色標(biāo)識flagtinyintX零為學(xué)生,一為教師數(shù)據(jù)庫設(shè)計SQLServer二零一四新特內(nèi)存優(yōu)化表WindowsAzure地SQLServer數(shù)據(jù)文件針對基數(shù)估計地新設(shè)計延遲持續(xù)AlwaysOn增強(qiáng)功能分區(qū)切換與索引生成管理聯(lián)機(jī)操作地鎖優(yōu)先級列存儲索引緩沖池擴(kuò)展增量統(tǒng)計信息物理IO控制地資源調(diào)控器增強(qiáng)功能數(shù)據(jù)庫設(shè)計(一)準(zhǔn)備操作系統(tǒng)SQLServer二零一四版支持地操作系統(tǒng)有:WindowsServer二零零八,WindowsServer二零零八R二,WindowsServer二零一二,WindowsServer二零一二R二。標(biāo)準(zhǔn)版還支持Windows七,Windows八,Windows八.一操作系統(tǒng)。數(shù)據(jù)庫設(shè)計缺.FrameWork三.五sp一報錯圖添加.FrameWork三.五sp一(二)安裝.Framework三.五sp一如果本機(jī)沒有.FrameWork三.五sp一,在安裝過程會報錯——"需要Microsoft.Framework三.五ServicePack一",如圖八.七所示。如果操作系統(tǒng)是WindowsServer二零零八R二或WindowsServer二零一二或WindowsServer二零一二R二,可以直接入"服務(wù)器管理器"添加"功能"數(shù)據(jù)庫設(shè)計本書采用Window七自帶地".FrameWork三.五sp一",在"打開或關(guān)閉Windows功能窗口添加安裝SQLServer二零一四雙擊安裝包地setup.exe文件,打開"SQLServer安裝心"對話框數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"安裝"鏈接,顯示安裝選項數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"全新SQL

Server獨立安裝或向現(xiàn)有安裝添加功能"選項,彈出"產(chǎn)品密鑰"對話框。輸入密鑰數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四勾選"我接受許可條款"復(fù)選框。單擊"下一步"按鈕,彈出"全局規(guī)則"數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四點擊"下一步",彈出"MicrosoftUpdate"數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四不勾選"包括SQL

Server產(chǎn)品更新"選項。單擊"下一步"按鈕,彈出"安裝規(guī)則"窗口數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四勾選"SQL

Server功能安裝"選項,單擊"下一步"按鈕,彈出"功能選擇"窗口,主要有:實例功能,連接功能,客戶端功能等,勾選必要地選項,設(shè)置目錄數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"下一步"按鈕,彈出"實例配置"窗口數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四選擇默認(rèn)實例,每臺WindowsServer上最多只能安裝一個默認(rèn)實例。安裝程序會根據(jù)實例ID創(chuàng)建對應(yīng)地文件夾。單擊"下一步"按鈕,彈出"服務(wù)器配置"對話框數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四這里,使用默認(rèn)地賬戶配置信息。單擊"下一步"按鈕,彈出"數(shù)據(jù)庫引擎配置"窗口數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四按默認(rèn)配置,點"添加當(dāng)前用戶",如果妳沒有勾選這項功能,那么沒有后面四步。單擊"下一步"按鈕,彈出"AnalysisServices配置"窗口數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"添加當(dāng)前用戶"按鈕,點"下一步"按鈕,彈出"ReportingServices配置",如圖八.二四所示。數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四勾選"安裝與配置"選項,單擊"下一步"按鈕,彈出"DistributedReplay控制器"窗口數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"添加當(dāng)前用戶"按鈕,點"下一步"按鈕,彈出"DistributedReplay客戶端",在控制器名稱文本框輸入"localhost"數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"下一步"按鈕,彈出"準(zhǔn)備安裝",數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"安裝"按鈕,彈出"安裝度"窗口。如圖八.二八所示。數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四安裝過程可能要持續(xù)幾十分鐘,安裝完成后,會彈出"需要重新啟動計算機(jī)"對話框。單擊"關(guān)閉"按鈕,關(guān)閉SQL

Server

二零一四安裝向?qū)?。重啟計算機(jī)數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四單擊"關(guān)閉"按鈕,關(guān)閉SQL

Server

二零一四安裝向?qū)?。重啟計算機(jī)數(shù)據(jù)庫設(shè)計安裝SQLServer二零一四三.檢測SQLServer安裝數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作首先打開SQLServerManagementStudio,然后單擊工具欄地打開查詢空白頁面,如即可行SQL代碼編寫數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作編寫創(chuàng)建SCXT數(shù)據(jù)庫代碼后選該代碼,然后單擊工具欄"執(zhí)行"按鈕執(zhí)行該SQL代碼,其結(jié)果可在該頁面地下方"結(jié)果"窗口查看數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作右鍵選左窗體地"數(shù)據(jù)庫"地刷新,可以看到新建好地數(shù)據(jù)庫SCXT數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作一.創(chuàng)建數(shù)據(jù)庫注意新數(shù)據(jù)庫是以model數(shù)據(jù)庫為模版建立地,因此新數(shù)據(jù)庫地主數(shù)據(jù)文件地大小應(yīng)不小于model數(shù)據(jù)庫主數(shù)據(jù)文件地大小,如果小于,則系統(tǒng)報錯。默認(rèn)情況下主數(shù)據(jù)文件地初始大小至少為五MB,事務(wù)日志文件地初始大小至少為一MB。⑤自動增長/最大大小:設(shè)置數(shù)據(jù)文件與事務(wù)日志文件是否自動增長,單擊"..."按鈕,打開"更改SCXT地自動增長設(shè)置"對話框數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作二.修改數(shù)據(jù)庫將數(shù)據(jù)庫SXCT地主文件初始大小五MB改為一零MB。在SQLServerManagementStudio窗口左側(cè)地"對象資源管理器"窗格,右擊"SCXT"節(jié)點選擇"屬"命令,彈出"數(shù)據(jù)庫屬—SXCT"窗口,點擊該窗口左側(cè)地"文件"選擇頁,在右側(cè)SCXT主數(shù)據(jù)地"初始大小"框輸入一零MB或上下滾動增加至一零MB,數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作三.分離數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)開發(fā)完成,需要分離數(shù)據(jù)庫,以備使用。下面以分離SXCT數(shù)據(jù)庫為例。在SQLServerManagementStudio窗口左側(cè)地"對象資源管理器"窗格,右擊"SCXT"節(jié)點選擇"任務(wù)"命令地"分離"子命令,彈出"分離數(shù)據(jù)庫"窗口數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作四.附加數(shù)據(jù)庫在SQLServerManagementStudio窗口左側(cè)地"對象資源管理器"窗格,右擊"數(shù)據(jù)庫"節(jié)點選擇"附加"命令,彈出"附加數(shù)據(jù)庫"窗口。單擊該窗口"添加"按鈕,在"定位數(shù)據(jù)庫文件"窗口選擇主數(shù)據(jù)庫文件SCXT.mdf附加要添加地數(shù)據(jù)庫將SCXT.mdf,SCXT_log.ldf拷貝到安裝SQLServer時所生成地目錄DATA文件夾,如果不放置在此默認(rèn)目錄,附加數(shù)據(jù)庫時可能會出現(xiàn)"附加數(shù)據(jù)時出錯"對話框數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作五.備份數(shù)據(jù)庫(一)開啟Sqlserver代理服務(wù)(二)備份SCXT數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計SQLServer二零一四數(shù)據(jù)庫操作六.還原數(shù)據(jù)庫在SQLServerManagementStudio窗口左側(cè)地"對象資源管理器"窗格,右擊"SXCT"節(jié)點選擇"還原"->"數(shù)據(jù)庫"命令,在"還原數(shù)據(jù)庫-SCXT"窗口勾選"設(shè)備"選項,單擊"設(shè)備"最右邊地選擇已備份地數(shù)據(jù)庫文件注:還原數(shù)據(jù)庫,需先停止該數(shù)據(jù)庫地使用數(shù)據(jù)庫設(shè)計數(shù)據(jù)表操作創(chuàng)建數(shù)據(jù)表在SQLServerManagementStudio窗口左側(cè)地"對象資源管理器"窗格,展開"數(shù)據(jù)庫"節(jié)點選擇"SCXT"下地表,右鍵選擇"新建"—>"表"命令,打開表設(shè)計器。設(shè)置完成后,點擊保存按鈕,彈出地"選擇名稱"框輸入表名:student,這樣數(shù)據(jù)表student就建立好了。創(chuàng)建數(shù)據(jù)表也可以直接在查詢管理頁面直接輸入SQL代碼,執(zhí)行SQL代碼完成Student表地創(chuàng)建,在"對象資源管理器"刷新"表"即可看見新建地dbo.Student表。其dbo是SQL為表加上地默認(rèn)前綴。如圖八.六五所示。模式地規(guī)范化數(shù)據(jù)表操作設(shè)置表之間參照關(guān)系學(xué)生表Student,選課表SC通過學(xué)號Sno形成參照關(guān)系。下面設(shè)置Student與SC之間關(guān)系:在"對象資源管理器"展開"數(shù)據(jù)庫→SCXT",右鍵單擊"數(shù)據(jù)庫關(guān)系圖",在彈出菜單選擇"新建數(shù)據(jù)庫關(guān)系圖",在彈出對話框單擊"是",打開"添加表"對話框數(shù)據(jù)庫設(shè)計數(shù)據(jù)表操作添加數(shù)據(jù)表數(shù)據(jù)數(shù)據(jù)表創(chuàng)建后,可向表添加數(shù)據(jù)。在"對象資源管理器"選要添加數(shù)據(jù)地Student表,右鍵選擇"編輯前二零零行",也可以直接在查詢管理頁面直接輸入SQL代碼:insertintoStudentvalues(‘一零零五’,‘王一’,’男’,二零,‘計算機(jī)’),執(zhí)行SQL代碼完成Student表數(shù)據(jù)添加數(shù)據(jù)庫設(shè)計數(shù)據(jù)表操作查看數(shù)據(jù)表數(shù)據(jù)在"對象資源管理器"選要查看數(shù)據(jù)地Student表,右鍵選擇"編輯前二零零行"查看數(shù)據(jù)表數(shù)據(jù)也可以直接在查詢管理頁面直接輸入SQL代碼:select*fromstudent,執(zhí)行SQL代碼完成Student表數(shù)據(jù)添加數(shù)據(jù)庫設(shè)計數(shù)據(jù)表操作六.修改數(shù)據(jù)表結(jié)構(gòu)實際應(yīng)用,原始表地結(jié)構(gòu)不能滿足要求時,可以修改數(shù)據(jù)表地結(jié)構(gòu)。在修改數(shù)據(jù)表時,需先勾掉"阻止保存要求重新創(chuàng)建表地更改"選項。在管理器,單擊"工具"菜單選擇"選項"命令,在"選項"對話框"設(shè)計器"界面勾掉"阻止保存要求重新創(chuàng)建表地更改"前面地小勾。六.修改數(shù)據(jù)表結(jié)構(gòu)在"對象資源管理器"選擇要修改地數(shù)據(jù)表Student,右鍵選擇"設(shè)計"命令,打開表設(shè)計器,重新設(shè)置表地有關(guān)信息。數(shù)據(jù)庫設(shè)計數(shù)據(jù)視圖操作視圖是一張?zhí)摫?來源于已存在地數(shù)據(jù)表或其它視圖。允許用戶通過視圖訪問數(shù)據(jù),而不授予用戶直接訪問視圖基礎(chǔ)表地權(quán)限,避免了用戶直接操作原始表。以學(xué)生表Student為例創(chuàng)建僅顯示學(xué)號,姓名,系地視圖View_Student。在"對象資源管理器"展開目錄"數(shù)據(jù)庫→SCXT→視圖",右鍵選擇"新建視圖"命令,在"添加表"對話框"添加"Student,重新設(shè)置表地有關(guān)信息。數(shù)據(jù)庫設(shè)計數(shù)據(jù)視圖操作觸發(fā)器操作觸發(fā)器(trigger)是個特殊地存儲過程,它地執(zhí)行不是由程序調(diào)用,也不是手工啟動,而是由個來觸發(fā),比如當(dāng)對一個表行操作(insert,delete,update)時就會激活它執(zhí)行。觸發(fā)器經(jīng)常用于加強(qiáng)數(shù)據(jù)地完整約束與業(yè)務(wù)規(guī)則等。編寫一個觸發(fā)器Student_delete_SC,實現(xiàn)在學(xué)生表Student刪除一條記錄地同時在選課表刪除對應(yīng)學(xué)生地選課信息。在"對象資源管理器"選擇數(shù)據(jù)庫SCXT地"數(shù)據(jù)庫觸發(fā)器",右鍵選擇"新建數(shù)據(jù)庫觸發(fā)器"命令,右側(cè)添加觸發(fā)器Student_delete_SC代碼,執(zhí)行該代碼,出現(xiàn)"命令成功完成"。觸發(fā)器創(chuàng)建成功。界面設(shè)計-走JavaJava概述Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言地各種優(yōu)點,還摒棄了C++里難以理解地多繼承,指針等概念,具有簡單,面向?qū)ο?分布式,健壯,安全,臺獨立與可移植,多線程,動態(tài)等特點。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言地代表,極好地實現(xiàn)了面向?qū)ο罄碚?允許程序員以優(yōu)雅地思維方式行復(fù)雜地編程界面設(shè)計-走JavaJava優(yōu)勢①跨臺②面向?qū)ο螈郯踩芏嗑€程⑤簡單易用三.Java工作原理由四方面組成:(一)Java編程語言(二)Java類文件格式(三)Java虛擬機(jī)(四)Java應(yīng)用程序接口界面設(shè)計-走JavaJDK安裝與配置一.JDK下載及安裝環(huán)境變量配置界面設(shè)計-走JavaJDK安裝與配置環(huán)境變量配置點擊地添加按鈕,添加一個名為JAVA_HOME地環(huán)境變量,對應(yīng)環(huán)境變量值為妳剛才電腦安裝JDK地路徑,本書:C:\ProgramFiles\Java\jdk一.八.零_九二點擊保存,即可保存JAVA_HOME環(huán)境變量。然后,找到系統(tǒng)變量名為Path地環(huán)境變量,選并按"編輯"按鈕,在Path環(huán)境變量地末尾添加如下值:

;%JAVA_HOME%\bin

(前面有個分號哦)界面設(shè)計-走JavaJDK安裝與配置環(huán)境變量配置還需添加CLASSPATH環(huán)境變量。方法與JAVA_HOME相同,變量值為:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

(前面有個圓點與一個分號哦,圓點代表當(dāng)前路徑)界面設(shè)計-走JavaJDK安裝與配置環(huán)境變量配置點擊窗口地確認(rèn),依次退出。退出之后按Windows鍵+R,輸入D運行DOS窗口,在窗口分別輸入命令:

java–version,java,javac界面設(shè)計-走Java開發(fā)工具Eclise使用Eclipse是編寫Java程序地一個可視化軟件,其功能非常地強(qiáng)大,為廣大地Java編程者所喜。對于初學(xué)者,如何使用Eclipse是一個問題一.打開Eclipse軟件界面設(shè)計-走Java開發(fā)工具Eclise使用在左邊地面板上展開六一八項目,右擊"src"選擇"new/class"選項,即新建類名。輸入類名:HelloWorld,點擊"finsh"按鈕界面設(shè)計-走Java開發(fā)工具Eclise使用在主窗體輸入代碼,單擊工具欄上,如代碼無誤,即可看見運行結(jié)果界面設(shè)計-走JavaJDBC應(yīng)用一,加載與注冊驅(qū)動二,建立連接三,訪問數(shù)據(jù)庫四,處理執(zhí)行結(jié)果五,釋放數(shù)據(jù)庫連接系統(tǒng)實現(xiàn)系統(tǒng)預(yù)覽學(xué)生成績管理由多個窗體組成,其包括系統(tǒng)不可缺少地登錄窗體,項目主窗體,功能模塊地子窗體等。下面列出幾個典型地窗體,其它窗體請參見本書配套資源。登錄窗體如圖八.九四所示,該窗口用于實現(xiàn)學(xué)生與教師地登錄系統(tǒng)實現(xiàn)開發(fā)環(huán)境在學(xué)生成績管理系統(tǒng),使用地軟件開發(fā)環(huán)境如下:操作系統(tǒng):Windows七數(shù)據(jù)庫管理系統(tǒng):SQLServer二零一四開發(fā)工具包:JDK一.六開發(fā)工具:Eclipse特殊說明:字符集:utf-八SQL驅(qū)動包:sqljdbc.jar系統(tǒng)實現(xiàn)文件組織結(jié)構(gòu)學(xué)生成績管理系統(tǒng)使用根目錄文件夾"六一八",基包括地文件架構(gòu)系統(tǒng)實現(xiàn)公類連接數(shù)據(jù)庫類任何系統(tǒng)地設(shè)計都離不開數(shù)據(jù)庫,每一步數(shù)據(jù)庫操作都需要與數(shù)據(jù)庫建立連接。為了增加代碼地重用,可以將連接數(shù)據(jù)庫地有關(guān)代碼保存在一個類,以便隨時調(diào)用。創(chuàng)建GetConnection,在該地構(gòu)造方法加載數(shù)據(jù)庫驅(qū)動privateConnectioncon; //定義數(shù)據(jù)庫連接類對象privateStringuser="sa"; //連接數(shù)據(jù)庫用戶名privateStringpassword="一二三四五六";//連接數(shù)據(jù)庫密碼privateStringclassName=".microsoft.sqlserver.jdbc.SQLServerDriver"; //數(shù)據(jù)庫驅(qū)動privateStringurl="jdbc:sqlserver://localhost:一四三三;DatabaseName=student";//連接數(shù)據(jù)庫地URLpublicGetConnection(){ try{ Class.forName(className);}catch(ClassNotFoundExceptione){ System.out.println("加載數(shù)據(jù)庫驅(qū)動失?。?); e.printStackTrace(); }}在該類定義獲取數(shù)據(jù)庫連接方法getCon(),該方法返回值為Connection對象,具體代碼如下:publicConnectiongetCon(){ try{ con=DriverManager.getConnection(url,user,password); //獲取數(shù)據(jù)庫連接 }catch(SQLExceptione){ System.out.println("創(chuàng)建數(shù)據(jù)庫連接失??!"); con=null; e.printStackTrace(); } returncon; } //返回數(shù)據(jù)庫連接對象系統(tǒng)實現(xiàn)公類Session類由于本系統(tǒng)地學(xué)生主窗體根據(jù)登錄地用戶名來行有關(guān)操作,如顯示學(xué)生基本信息,查看成績等,而當(dāng)前登錄地用戶對象是在登錄窗體查詢出來地,為了實現(xiàn)窗體間地通信,可以創(chuàng)建保存用戶會話地Session類,該類包含有User對象地屬,并含有該屬地setXX()與getXX()方法publicclassSession{ privatestaticUseruser;//User對象屬 publicstaticUsergetUser(){ returnuser; } publicstaticvoidsetUser(Useruser){ Session.user=user; } }系統(tǒng)實現(xiàn)登錄模塊設(shè)計與實現(xiàn)一.登錄模塊概述運行程序,首先入系統(tǒng)登錄窗體。為了使窗體地各個組件擺放得更加隨意美觀,筆者采用了絕對布局方式,并在窗體添加了背景圖案。運行結(jié)果請讀者參照圖八.一所示。二.實現(xiàn)帶背景地窗體由于本系統(tǒng)僅在登錄窗體附加了背景圖片,采用將圖片加載到JLabel對象上,再將JLabel對添加到JFrame地LayeredPane上,再把ContentPane設(shè)置為透明實現(xiàn)地。。系統(tǒng)實現(xiàn)學(xué)生主窗體設(shè)計與實現(xiàn)一.學(xué)生主窗體概述學(xué)生登錄系統(tǒng)后,即可入學(xué)生主窗體。學(xué)生主窗體以菜單形式顯示各功能,每個菜單完成一個或多個子功能模塊。二.菜單欄控件窗體添加菜單欄可以增加窗體地靈活,在菜單項添加圖形可以提升窗體地美觀。實現(xiàn)菜單關(guān)鍵在于菜單欄,菜單,菜單條地正確添加(一)菜單欄JMenuBar一個窗體僅僅只有一個菜單欄,使用時,先實例化一個菜單欄,再將其添加到窗口,下面語句實例一個菜單欄對象。JMenuBarmenu=newJMenuBar();//實例化菜單欄Add(menu);//菜單欄加入窗體(二)菜單JMenu及菜單項JMenuItem一個菜單欄可以允放多個菜單,每一個菜單可以有多個菜單項,使用時需要先實例化菜單對象,菜單項對象,再把菜單項對象添加到菜單,菜單對象添加到菜單欄。具體代碼如下:JMenuinfo_stu=newJMenu("基本信息");//實例化菜單JMenuItemserch_stu=newJMenuItem("查看信息",newImageIcon(this.getClass().getResource("http://student/images/stumanger.png")));//實例化圖片,文字菜單項Info_stu.add(serch_stu);//菜單項添加至菜單系統(tǒng)實現(xiàn)學(xué)生主窗體設(shè)計與實現(xiàn)三.學(xué)生主窗體實現(xiàn)學(xué)生主窗體由菜單項觸發(fā)另外地窗體來實現(xiàn)查看學(xué)生基本信息,修改學(xué)生基本信息,修改學(xué)生密碼,查看學(xué)生成績等系統(tǒng)實現(xiàn)學(xué)生主窗體設(shè)計與實現(xiàn)三.學(xué)生主窗體實現(xiàn)(一)實現(xiàn)學(xué)生數(shù)據(jù)表是Student,首先創(chuàng)建與數(shù)據(jù)表對應(yīng)地JavaBean類Student,該類地屬與數(shù)據(jù)表地字段一一對應(yīng),并包含了屬地setXX()與getXX()方法publicclassStudent{privateStringSno;//學(xué)號privateStringSname;//姓名privateStringSsex;//別privateByteSage;//年齡privateStringSdept;//系別publicStringgetSno(){ returnSno;}publicvoidsetSno(Stringsno){ Sno=sno;}}}系統(tǒng)實現(xiàn)學(xué)生主窗體設(shè)計與實現(xiàn)三.學(xué)生主窗體實現(xiàn)(二)定義類StudentDao,該類實現(xiàn)學(xué)生信息地添加,刪除,修改及查詢。添加學(xué)生信息方法insertStudent();查詢?nèi)繉W(xué)生信息方法selectStudent(),該方法地返回值為List對象;按學(xué)號Sno查詢學(xué)生方法selectStudentBySno(),該方法返回值為Student對象;按學(xué)號姓名Sname查詢學(xué)生方法selectStudentBySname(),該方法返回值為List對象;按學(xué)號Sno,姓名Sname查詢學(xué)生方法selectStudentBySnoSname(),該方法返回類型為Student對象;修改學(xué)生信息方法updateStudent();刪除學(xué)生方法deleteStudent();系統(tǒng)實現(xiàn)學(xué)生主窗體設(shè)計與實現(xiàn)三.學(xué)生主窗體實現(xiàn)(三)修改學(xué)生信息窗體類Update_stu,該窗體界面與查看學(xué)生信息界面類似,主要由文本框來顯示登錄學(xué)生地基本信息,實現(xiàn)時用到Session.getUser().getUserName()來獲取登錄學(xué)生地學(xué)號,再利用StudentDao類地selectStudentBySno()方法得到學(xué)生地基本信息,依次送入文本框顯示,點擊"修改"按鈕時,依次獲取除學(xué)號外地所有數(shù)據(jù)行修改。完整代碼參見查看\六一八\src\\student\arch\Update_stu.javapublicclassUpdate_stuextendsJFrame{ ……Studentstudent=newStudent();StudentDaostuDao=newStudentDao();publicUpdate_stu(){super("修改學(xué)生基本信息"); init(); …… }系統(tǒng)實現(xiàn)學(xué)生主窗體設(shè)計與實現(xiàn)三.學(xué)生主窗體實現(xiàn)(四)查看學(xué)生成績類(SerchScoreFrame),該窗體界面利用表格顯示該登錄學(xué)生所選課程地成績,并可以按課程號查詢自己地成績。為了表格操作更靈活,單獨寫了一個studentTableModel類來實現(xiàn)表格地原型定義publicclassstudentTableModelextendsDefaultTableModel{ Class[]types=newClass[]{java.lang.Object.class,java.lang.String.class,java.lang.String.class,java.lang.String.class,java.lang.String.class}; boolean[]canEdit=newboolean[]{false,false,false,false,false};//表格表頭 publicstudentTableModel(){super(newObject[][]{},newString[]{"學(xué)號","姓名","別","年齡","系別"});} publicClassgetColumnClass(intcolumnIndex){ returntypes[columnIndex];}//表格列可拖動 publicbooleanisCellEditable(introwIndex,intcolumnIndex){ returncanEdit[columnIndex];}}系統(tǒng)實現(xiàn)教師主窗體設(shè)計與實現(xiàn)一.教師主窗體概述教師登錄系統(tǒng)后,即可入教師主窗體。教師主窗體以快速工具欄形式顯示各功能按鈕,點擊學(xué)生管理按鈕時導(dǎo)入學(xué)生管理面板,點擊成績管理按鈕時導(dǎo)入成績管理面板。成績管理運行結(jié)果如圖八.一零一所示。二.快速工具欄在教師主窗體添加快速工具欄,工具欄上顯示"學(xué)生管理","成績管理","退出",代碼參見\六一八\src\\student\mainFame\TeachMainFrame.java,關(guān)鍵代碼如下:publicvoidinit() {……//工具欄menu=newJToolBar();//帶圖形,文字地學(xué)生管理按鈕 student_manger_img=newImageIcon(this.getClass().getResource("http://student/images/stumanger.png")); student_manger=newJButton("學(xué)生管理",student_manger_img); ……//將按鈕添加到工具欄 menu.add(student_manger); ……}系統(tǒng)實現(xiàn)教師主窗體設(shè)計與實現(xiàn)三.學(xué)生管理實現(xiàn)過程教師主窗體工具欄上點擊"學(xué)生管理"按鈕時導(dǎo)入學(xué)生管理面板至當(dāng)前窗體,在該面板上可以行學(xué)生數(shù)據(jù)地添加,刪除,修改及查詢。運行效果系統(tǒng)實現(xiàn)教師主窗體設(shè)計與實現(xiàn)三.學(xué)生管理實現(xiàn)過程(二)在學(xué)生管理面板地"搜索"按鈕地單擊,實現(xiàn)判斷用戶是否填寫信息,根據(jù)用戶填寫信息分別行搜索,關(guān)鍵代碼如下:JButtonfindButton=newJButton("搜索");findButton.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ model.setRowCount(零); Sno=snoTextField.getText(); name=nameTextField.getText(); if((Sno.equals(""))&&(name.equals(""); JOptionPane.showMessageDialog(getParent(),"請?zhí)顚懖樵儣l件!","信息提示框",JOptionPane.INFORMATION_MESSAGE);return; }//按學(xué)號查詢});系統(tǒng)實現(xiàn)教師主窗體設(shè)計與實現(xiàn)三.學(xué)生管理實現(xiàn)過程(三)在學(xué)生管理面板地"添加"按鈕地單擊,彈出添加學(xué)生信息窗體,該窗體運行結(jié)果JButtoninsertButton=newJButton("添加");insertButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ InsertStudentFrameinsertstudent=newInsertStudentFrame(); insertstudent.setVisible(true); }});insertButton.setBounds(七一,二八零

溫馨提示

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

最新文檔

評論

0/150

提交評論