版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于sql數(shù)據(jù)庫的通用成績管理 數(shù) 據(jù) 庫 課 程 設(shè) 計 報 告課題 基于sql數(shù)據(jù)庫的通用成績管理系統(tǒng) 設(shè) 計 者 專 業(yè) 計算機(jī)科學(xué)與技術(shù) 班 級 學(xué) 號 同組成員名單 指導(dǎo)老師 _ _評定成績 _2010年 1 月 8 日課 程 設(shè) 計 任 務(wù) 書一、課程名稱 數(shù)據(jù)庫系統(tǒng)原理 指導(dǎo)教師 二、本課程設(shè)計題目 基于sql數(shù)據(jù)庫的通用成績管理系統(tǒng) 三、本設(shè)計所要達(dá)到的目的和要求 1、主題明確,軟體開發(fā)要有創(chuàng)新性,能體現(xiàn)sql的存儲過程、觸發(fā)器、游標(biāo)技術(shù)等; 2、用delphi結(jié)合sql server數(shù)據(jù)庫進(jìn)行開發(fā); 3、寫出數(shù)據(jù)庫關(guān)系模式及相應(yīng)的數(shù)據(jù)庫表關(guān)系圖; 4、繪制成績mis相應(yīng)的系統(tǒng)
2、流程圖、e-r圖等; 5、完成成績mis登陸界面、賬戶管理、主界面、成績錄入、成績查詢和其各項設(shè)計與操作。 四、接受任務(wù)學(xué)生: 班 姓名 五、開始及完成時間 自 2009 年 12 月 28 日 至 2010 年 1 月 8 日2009年 12 月 28 日目錄1.概述12.系統(tǒng)需求分析12.1 本系統(tǒng)需要管理的實體信息12.2 本系統(tǒng)要管理的實體聯(lián)系信息13功能需求分析131系統(tǒng)功能的描述132系統(tǒng)功能模塊示意圖14系統(tǒng)設(shè)計241數(shù)據(jù)概念結(jié)構(gòu)設(shè)計2411數(shù)據(jù)流程圖2412 e-r圖44.1.3 功能模塊設(shè)計圖44.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計5421數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計6422數(shù)據(jù)標(biāo)的設(shè)計64.2.3
3、 數(shù)據(jù)庫二維表結(jié)構(gòu)65.delphi常用的幾個語句及功能76.系統(tǒng)界面及主要程序961創(chuàng)建公用模塊962登錄界面及主界面963基礎(chǔ)信息管理136.4 賬戶管理186.5 幫助信息227.系統(tǒng)測試與運行227.1登錄測試227.2賬戶管理測試227.3成績錄入測試237.4成績查詢測試238.參考文獻(xiàn)239.總結(jié)2324 1.概述本系統(tǒng)是成績查詢管理系統(tǒng),主要用于學(xué)生成績的管理,包括成績錄入、查找、添加、刪除。學(xué)生通用成績管理是學(xué)校管理中異常重要的一個環(huán)節(jié),它的實現(xiàn)關(guān)系到學(xué)校辦學(xué)整體效率的高低,運用通用成績管理系統(tǒng)可以減輕學(xué)院教學(xué)人員的工作量,加快查詢速度,加強管理, 也讓同學(xué)們能在任何時候都能
4、查閱到有關(guān)自己學(xué)科成績有關(guān)的信息,也有利于讓他們充分了解有關(guān)自己在大學(xué)期間所有課程的學(xué)習(xí)情況,提高查詢速度。學(xué)生成績管理系統(tǒng)是系科綜合管理信息系統(tǒng)中很重要的組成部分。2.系統(tǒng)需求分析成績管理系統(tǒng)是面向各校的管理系統(tǒng),其目的是提高學(xué)校對學(xué)生的科學(xué)化管理。經(jīng)過充分的系統(tǒng)調(diào)研,發(fā)現(xiàn)本系統(tǒng)主要應(yīng)包括系統(tǒng)管理、成績管理、成績查詢管理,進(jìn)一步還發(fā)現(xiàn)各需管理的信息有:添加或者刪除用戶,密碼修改,各系學(xué)生基本信息,學(xué)生選課信息等。本系統(tǒng)的具體要求為:(1) 能管理學(xué)生的基本成績信息,可錄入,修改,查詢。(2) 通過使用計算機(jī)能方便地維護(hù)各信息表。(3) 方便同時查出總成績和平均成績,實現(xiàn)表的統(tǒng)計功能。(4)
5、需要時能即時進(jìn)行輸出與打印。(5) 系統(tǒng)具有操作方便、簡捷等特點。 2.1 本系統(tǒng)需要管理的實體信息(1)賬戶管理:用戶名、密碼(2)系別:機(jī)電系、文法系、經(jīng)管系(3)成績錄入:機(jī)電系成績錄入、文法系成績錄入、經(jīng)管系成績錄入(4)成績查詢:機(jī)電系成績查詢、文法系成績查詢、經(jīng)管系成績查詢(5)學(xué)生基本信息:學(xué)號、姓名、性別、年齡、籍貫、原高中(6)學(xué)生選課信息:學(xué)號、課程號、成績(7)成績查詢:總成績、平均成績2.2 本系統(tǒng)要管理的實體聯(lián)系信息(1 ) 學(xué)生登陸系統(tǒng)時要輸入用戶名和密碼(2)學(xué)生的選課情況,信息要根據(jù)不同情況而添加、刪除、修改信息,還有可以做密碼修改等。3功能需求分析31系統(tǒng)功能
6、的描述經(jīng)過調(diào)研分析,通用成績管理系統(tǒng)共可分為系統(tǒng)對用戶的添加,刪除,修改,各系成績的錄入,各系成績的分類查詢,查詢學(xué)生的基本信息,選課情況。系統(tǒng)的維護(hù)用于用戶的維護(hù)及用戶權(quán)限的設(shè)置等。 32系統(tǒng)功能模塊示意圖4系統(tǒng)設(shè)計41數(shù)據(jù)概念結(jié)構(gòu)設(shè)計411數(shù)據(jù)流程圖 系統(tǒng)0級圖成績管理1級圖 成績查詢1級圖412 e-r圖4.1.3 功能模塊設(shè)計圖通用成績管理系統(tǒng)總模塊圖系統(tǒng)管理子模塊圖成績管理子模塊圖成績查詢子模塊圖幫助信息子模塊圖4.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計421數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計學(xué)生信息(編號,學(xué)號,姓名,年齡,性別,籍貫,原就讀高中)選修信息(學(xué)號,課程號,成績)用戶登陸信息(姓名,密碼,權(quán)限)422
7、數(shù)據(jù)標(biāo)的設(shè)計學(xué)生成績學(xué)生信息登陸信息4.2.3 數(shù)據(jù)庫二維表結(jié)構(gòu)登錄信息表機(jī)電系學(xué)生信息機(jī)電系學(xué)生選課及成績經(jīng)管系學(xué)生信息經(jīng)管系學(xué)生選課及成績文法系學(xué)生信息文法系學(xué)生選課及成績5.delphi常用的幾個語句及功能(a)輸入語句inputbox函數(shù)和inputquery函數(shù)用于顯示一個帶有編輯組件的消息對話框,該提示框中有一個文本輸入框和兩個命令按鈕,為用戶提供輸入文本的功能。1) inputbox函數(shù)( inputbox返回值是字符串,也就是輸入的字符串 )語法:function inputbox(const acaption,aprompt,adefault:string):string;a
8、caption,消息對話框的標(biāo)題。aprompt,消息對話框的提示信息。adefault,消息對話框首次出現(xiàn)時編輯框中顯示的信息2) inputquery函數(shù)顯示一個帶有編輯組件的對話框,為用戶提供輸入文本的功能,并判斷用戶是否按下了ok按鈕。( inputquery返回值為是否點了ok 輸入的字符串放在了變量value中 )語法:function inputquery(const acaption,aprompt:string;var value:string):boolean;acaption,消息對話框的標(biāo)題。aprompt,消息對話框的提示信息。value,對話框首次出現(xiàn)在編輯框中顯示
9、的字符串,并得到用戶在消息對話框中輸入的字符串。(b)輸出語句messagedlg函數(shù)可以將信息以對話框的形式輸出并顯示。語法:function messagedlg(const msg:string;dlgtype:tmsgdlgtype; buttons:tmesgdlgbuttons;helpctx:longint):integer;msg,顯示消息的內(nèi)容。dlgtype,指定消息對話框的類型。buttons,指定消息對話框顯示的按鈕helpctx,指定應(yīng)顯示幫助標(biāo)題的正文id dlgtype參數(shù)的取值:mtinfromation,顯示帶感嘆號圖標(biāo)的信息框。mtwarnging,顯示一個
10、帶有提醒符號圖標(biāo)的信息框。mtcustom,無顯示圖標(biāo)。mterror,顯示一個帶有停止符號圖標(biāo)的信息框。mtconfirmation,顯示一個帶有問好圖標(biāo)的信息框。(c)條件判斷語句1)使用if.then語句 語法: if 條件 then begin 語句 end;if.then.else語句語法:if 條件 then語句1else語句22)case.of條件分支語句case.of語句提供了一個可讀性更好的多重if嵌套的解決方案。語法:case 條件表達(dá)式 of 條件1:語句1; . 條件n:語句n;else 其他語句;end;6.系統(tǒng)界面及主要程序61創(chuàng)建公用模塊本系統(tǒng)有一個公用模塊,fo
11、rmdata,內(nèi)有一個connection控件,用于連接數(shù)據(jù)庫,若數(shù)據(jù)庫改變,只要修改connection控件的connection屬性即可。另外,所有的窗體都可以被其他窗體引用。62登錄界面及主界面uses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, extctrls, stdctrls, db, adodb, jpeg, buttons;var formlogin: tformlogin;implementationuses dataconn,mainform; $r
12、 *.dfmprocedure tformlogin.button3click(sender: tobject);beginapplication.terminate;end;procedure tformlogin.button2click(sender: tobject);beginedit1.text :=;edit2.text :=;end;procedure tformlogin.formclose(sender: tobject; var action: tcloseaction);beginapplication.terminate;end;vari:integer=0; /定義
13、i 作用是查看用戶是否輸入時有三次錯誤procedure tformlogin.speedbutton1click(sender: tobject);var user,pass:string; begin user:=trim(edit1.text); pass:=trim(edit2.text); adoquery1.close; adoquery1.sql.clear; adoquery1.sql.text:=select * from login where username=+user+ and password=+pass+; /當(dāng)變量user 和 pass 的內(nèi)容和login表中的
14、一致時,顯示主窗體 adoquery1.open ; if adoquery1.recordset.recordcount = 0 then /未找到用戶,提示用戶輸入錯誤 begin application.messagebox(用戶名或密碼不正確!請重新輸入!,_注意!,mb_ok); edit1.text :=; edit2.text :=; i:=i+1; if(i=3)then begin showmessage(密碼錯誤三次,系統(tǒng)退出!); application.terminate; end; end else begin formlogin.hide;/隱藏formlogin窗
15、體 /或者用 formlogin.visible:=false; formmain.show; /顯示formmain主窗體 /或者用 formmain.visible:=true; end;end;procedure tformlogin.speedbutton2click(sender: tobject);beginapplication.terminate;end;end.uses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls, extctrls,
16、menus;var formmain: tformmain;implementationuses usersinfo,jdxio,jdxgrade,helpform, jgxgrade, jgxio, wfxgrade, wfxio;$r *.dfmprocedure tformmain.n10click(sender: tobject);begin hide; formusersinfo.show;end;procedure tformmain.n5click(sender: tobject);beginformmain.hide;formjdxio.show;end;procedure t
17、formmain.n6click(sender: tobject);beginhide;formjdxgrade.show;end;procedure tformmain.n4click(sender: tobject);beginapplication.terminate;end;procedure tformmain.n11click(sender: tobject);beginformhelp.show;end;procedure tformmain.formclose(sender: tobject; var action: tcloseaction);begin applicatio
18、n.terminate;/退出程序end;procedure tformmain.radiobutton1click(sender: tobject);begin hide; /隱藏當(dāng)前窗體 formjdxio.show; /顯示 jdxioform窗體end;procedure tformmain.radiobutton2click(sender: tobject);beginhide;formjdxgrade.show;end;procedure tformmain.radiobutton4click(sender: tobject);beginhide;formjgxgrade.show
19、;end;procedure tformmain.radiobutton3click(sender: tobject);beginhide; formjgxio.show;end;procedure tformmain.radiobutton6click(sender: tobject);beginhide;formwfxgrade.show;end;procedure tformmain.radiobutton5click(sender: tobject);begin hide; formwfxio.show;end;procedure tformmain.n8click(sender: t
20、object);beginformmain.hide;formjgxio.show;end;procedure tformmain.n9click(sender: tobject);beginhide;formjgxgrade.show;end;procedure tformmain.n13click(sender: tobject);beginformmain.hide;formwfxio.show;end;procedure tformmain.n14click(sender: tobject);beginhide;formwfxgrade.show;end;end.63基礎(chǔ)信息管理 機(jī)電
21、系成績管理: 主要代碼 var formjdxgrade: tformjdxgrade;implementationuses dataconn,mainform;$r *.dfmprocedure tformjdxgrade.speedbutton1click(sender: tobject);begin /查詢符合相關(guān)學(xué)號的記錄 adoquery1.close; adoquery1.sql.clear; adoquery1.sql.text:=select 學(xué)號,課程號,成績 from jdxgrade where 學(xué)號=+trim(edit1.text)+ ; adoquery1.open
22、; /求出平均成績和總分,分別賦值給edit adoquery1.close; adoquery1.sql.clear; adoquery1.sql.text:=select sum(成績) as 求和,avg(成績) as 平均值 from jdxgrade where 學(xué)號=+trim(edit1.text)+ ; adoquery1.open; edit2.text:= adoquery1.fieldbyname(求和).asstring; edit3.text:= adoquery1.fieldbyname(平均值).asstring; /重新恢復(fù)sql數(shù)據(jù)顯示 adoquery1.c
23、lose; adoquery1.sql.clear; adoquery1.sql.text:=select 學(xué)號,課程號,成績 from jdxgrade where 學(xué)號=+trim(edit1.text)+ ; adoquery1.open; if adoquery1.recordset.recordcount = 0 then /未找到用戶,提示用戶輸入錯誤 begin application.messagebox(學(xué)號輸入不正確!請重新輸入!,注意!,mb_ok); edit1.text :=; adoquery1.close; adoquery1.sql.clear; adoquer
24、y1.sql.text:=select 學(xué)號,課程號,成績 from jdxgrade; adoquery1.open; endend;procedure tformjdxgrade.button1click(sender: tobject);begin edit1.text :=; /清空edit1.text記錄 formmain.show; close; /關(guān)閉當(dāng)前窗體end;procedure tformjdxgrade.formcreate(sender: tobject);begin /在窗體創(chuàng)建時顯示sql數(shù)據(jù) adoquery1.close; adoquery1.sql.clea
25、r; adoquery1.sql.text:=select 學(xué)號,課程號,成績 from jdxgrade ; adoquery1.open;end;procedure tformjdxgrade.formclose(sender: tobject; var action: tcloseaction);beginedit1.text :=; /清空edit1.text的值formmain.show;end;end. 經(jīng)管系成績管理 (代碼同上) 文法系成績管理(代碼同上)6.4 賬戶管理uses windows, messages, sysutils, variants, classes, g
26、raphics, controls, forms, dialogs, db, adodb, stdctrls, grids, dbgrids, buttons;var formusersinfo: tformusersinfo;procedure tformusersinfo.speedbutton1click(sender: tobject);beginadoquery1.close;formmain.show;formusersinfo.hide;end;procedure tformusersinfo.formclose(sender: tobject; var action: tclo
27、seaction);beginformmain.show;formusersinfo.hide;end;procedure tformusersinfo.button1click(sender: tobject);begin inherited; if textisnull = false then /判斷編輯框文本是否為空 begin with datamodule1.query2 do /判斷用戶名稱是否重復(fù) begin close; sql.clear; end; try with datamodule1.add do /向數(shù)據(jù)表中插入數(shù)據(jù) begin close; sql.clear;
28、 sql.add(insert into login values(:username,:password); parameters.parambyname(username).value := trim(edit1.text); parameters.parambyname(password).value := trim(edit2.text); execsql; end; application.messagebox(操作成功.,提示,64); button4.click; except on e: exception do /產(chǎn)生異常則拋出異常信息 showmessage(e.messa
29、ge); end; end else begin application.messagebox(用戶名或密碼不能為空.,提示,64); end;end;/自定義函數(shù),判斷編輯框是否為空function tformusersinfo.textisnull: boolean;begin result := false; if (trim(edit1.text)=)or(trim(edit2.text)=) then result := true;end;procedure tformusersinfo.button2click(sender: tobject);begin inherited; i
30、f datamodule1.query1.active then /存在可刪除的數(shù)據(jù) begin /提示是否刪除數(shù)據(jù) if application.messagebox(pchar(確實要刪除庫存名稱為: + trim(datamodule1.query1.fieldbyname(username).asstring)+用戶名的嗎?),提示,mb_yesno)= id_yes then begin try datamodule1.query1.delete; button4.click; except on e: exception do showmessage(e.message); /產(chǎn)生
31、異常則拋出異常信息 end; end; end else application.messagebox(當(dāng)前沒有可刪除的信息.,提示,64);end;procedure tformusersinfo.button4click(sender: tobject);begin inherited; edit1.clear; /清空編輯框文本 edit2.clear; with datamodule1.query1 do /刷新表格信息 begin close; sql.clear; sql.add(select * from login); open; end; if datamodule1.que
32、ry1.recordcount0 then datasource1.dataset := datamodule1.query1 else begin datamodule1.query1.close; datasource1.dataset := nil; end;end;procedure tformusersinfo.button5click(sender: tobject);var n:string;begin inherited; if (trim(edit5.text)then /密碼是否為空 begin try with datamodule1.update do begin cl
33、ose; sql.clear; sql.add(update login set password = :edit4 where username = :edit3); parameters.parambyname(edit4).value := trim(edit5.text); parameters.parambyname(edit3).value := trim(edit3.text); execsql; end; n:= trim(edit5.text); edit4.text := n; edit5.clear; edit4.clear; edit3.clear; applicati
34、on.messagebox(操作成功.,提示,64); except on e: exception do showmessage(e.message); end; end;end;procedure tformusersinfo.button6click(sender: tobject);beginedit3.clear;edit4.clear;edit5.clear;end;procedure tformusersinfo.button3click(sender: tobject);begin hide; formmain.show;end;end.6.5 幫助信息 7.系統(tǒng)測試與運行系統(tǒng)名稱:通用成績管理系統(tǒng)測試環(huán)境:服務(wù)器環(huán)境microsoft sql server、編
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度漁船租賃與漁業(yè)政策研究服務(wù)合同4篇
- 2025年度租賃房屋租賃合同稅費繳納指南4篇
- 2025年文化創(chuàng)意產(chǎn)業(yè)合伙人合作協(xié)議書模板3篇
- 2025年度專業(yè)賽車場車手雇傭合同3篇
- 2025年物產(chǎn)中大金屬集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 《廉政風(fēng)險防控培訓(xùn)課件》
- 2025年貴州遵義金控集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 二零二五年度米面油食品安全風(fēng)險評估與監(jiān)控合同4篇
- 2025年消防給排水系統(tǒng)管網(wǎng)優(yōu)化設(shè)計施工合同2篇
- 2025年度重型工業(yè)門采購安裝合同范本4篇
- 中國華能集團(tuán)公司風(fēng)力發(fā)電場運行導(dǎo)則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項練習(xí)及答案
- 2022-2023學(xué)年度六年級數(shù)學(xué)(上冊)寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報價單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識別實例
- 流體靜力學(xué)課件
- 顧客忠誠度論文
- 實驗室安全檢查自查表
- 證券公司績效考核管理辦法
評論
0/150
提交評論