學(xué)生信息數(shù)據(jù)庫(kù)管理系統(tǒng)課程設(shè)計(jì).doc

上傳人:good****022 文檔編號(hào):116819880 上傳時(shí)間:2022-07-06 格式:DOC 頁(yè)數(shù):38 大小:1.87MB
收藏 版權(quán)申訴 舉報(bào) 下載
學(xué)生信息數(shù)據(jù)庫(kù)管理系統(tǒng)課程設(shè)計(jì).doc_第1頁(yè)
第1頁(yè) / 共38頁(yè)
學(xué)生信息數(shù)據(jù)庫(kù)管理系統(tǒng)課程設(shè)計(jì).doc_第2頁(yè)
第2頁(yè) / 共38頁(yè)
學(xué)生信息數(shù)據(jù)庫(kù)管理系統(tǒng)課程設(shè)計(jì).doc_第3頁(yè)
第3頁(yè) / 共38頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《學(xué)生信息數(shù)據(jù)庫(kù)管理系統(tǒng)課程設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生信息數(shù)據(jù)庫(kù)管理系統(tǒng)課程設(shè)計(jì).doc(38頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、課 程 設(shè) 計(jì) 課程名稱(chēng) 數(shù)據(jù)庫(kù)系統(tǒng)概論 題目名稱(chēng) 學(xué)生信息數(shù)據(jù)庫(kù)管理系統(tǒng) 學(xué)生學(xué)院 計(jì)算機(jī)學(xué)院 專(zhuān)業(yè)班級(jí) 學(xué) 號(hào) 學(xué)生姓名 指導(dǎo)教師_左亞堯_ 2013年 1 月 15 日 目錄一、引言21.課程設(shè)計(jì)選題22.課程設(shè)計(jì)的目的23.相關(guān)技術(shù)支持2二、需求分析21.概述22.功能需求23.數(shù)據(jù)字典3數(shù)據(jù)項(xiàng)3數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)存儲(chǔ):5數(shù)據(jù)流圖6三、概念結(jié)構(gòu)設(shè)計(jì)7四、邏輯結(jié)構(gòu)設(shè)計(jì)81.關(guān)系模式92.系統(tǒng)結(jié)構(gòu)圖93.安全性和完整性10五、數(shù)據(jù)庫(kù)實(shí)施101.創(chuàng)建數(shù)據(jù)庫(kù)102.用戶界面設(shè)計(jì)14六、系統(tǒng)測(cè)試方案和測(cè)試分析報(bào)告29七、安裝和使用說(shuō)明35八、 參考文獻(xiàn)35一、 引言1. 課程設(shè)計(jì)選題學(xué)生信息數(shù)據(jù)庫(kù)管

2、理系統(tǒng)2. 課程設(shè)計(jì)的目的通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)課程設(shè)計(jì),熟悉了SQL SERVER數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)與組成;掌握了SQL統(tǒng)的使用和開(kāi)發(fā),提高分析問(wèn)題、解決問(wèn)題和實(shí)踐應(yīng)用能力。 SERVER數(shù)據(jù)庫(kù)管理系統(tǒng)的應(yīng)用技術(shù)和的使用;應(yīng)用ASP開(kāi)發(fā)工具實(shí)踐了在線考試系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法、開(kāi)發(fā)過(guò)程和SQL SERVER數(shù)據(jù)庫(kù)的管理與維護(hù)。最終達(dá)到掌握數(shù)據(jù)庫(kù)管理系3. 相關(guān)技術(shù)支持本程序使用C+語(yǔ)言,開(kāi)發(fā)工具為Visual C+ 6.0,使用SQL語(yǔ)言建立數(shù)據(jù)庫(kù),到處ACCESS供學(xué)生管理系統(tǒng)使用。二、需求分析1.概述:學(xué)生管理系統(tǒng)是一套對(duì)學(xué)生和教育各方進(jìn)行管理的工具,給教育工作者很大的方便,使教學(xué)管理

3、更有效,更方便,滿足日益繁重的教學(xué)管理需求2.功能需求:(1)提供一個(gè)對(duì)學(xué)生教學(xué)進(jìn)行管理的工具,能對(duì)學(xué)生以及課程、學(xué)院設(shè)置等各方面的數(shù)據(jù)進(jìn)行插入,查詢(xún),更改等基本功能,操作簡(jiǎn)便可靠。包括系統(tǒng)管理,基礎(chǔ)管理,學(xué)生管理,成績(jī)管理,學(xué)籍變動(dòng)管理和數(shù)據(jù)庫(kù)管理。(2)能滿足不同教育工作者的管理,系統(tǒng)管理用于管理用戶信息,能對(duì)添加和刪除用戶,設(shè)置和更改用戶的權(quán)限?;A(chǔ)管理能管理學(xué)校的系、專(zhuān)業(yè)、班級(jí)信息,能添加刪除和修改以上信息。學(xué)生管理功能是能夠?qū)W(xué)生個(gè)人基本信息沒(méi)包括獎(jiǎng)勵(lì)懲處信息進(jìn)行維護(hù),包括查詢(xún)、刪除、修改功能。成績(jī)管理功能能對(duì)學(xué)生成績(jī)和考試信息進(jìn)行維護(hù)。學(xué)籍管理功能能對(duì)學(xué)生個(gè)人動(dòng)態(tài)進(jìn)行記錄,包括退學(xué)

4、休學(xué)等。數(shù)據(jù)庫(kù)管理功能對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理,包括數(shù)據(jù)庫(kù)恢復(fù)和備份。(3)能在基本W(wǎng)indows平臺(tái)上運(yùn)行,具有數(shù)據(jù)庫(kù)備份功能,保證數(shù)據(jù)的安全和可恢復(fù)性。(4)界面友好,方便大部分人的理解和使用。3.數(shù)據(jù)字典:數(shù)據(jù)項(xiàng):Class:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(班級(jí)代號(hào))字符型20name(班級(jí)名字)字符型20department(所屬系)字符型20major(主修)字符型20teacher(老師)字符型20brief(批注)字符型20Department:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(系代號(hào))字符型20name(系名字)字符型20brief(批注)字符型20Examsubject:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注

5、明code(考試代號(hào))字符型20name(考試科目)字符型20Examtime:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明ID (考試代號(hào))字符型20time(考試時(shí)間)字符型20Examtype:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(類(lèi)型代號(hào))字符型20name(考試類(lèi)型)字符型20Honor:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明ID(事件代號(hào))字符型20code(學(xué)生學(xué)號(hào))字符型20name(學(xué)生名字)字符型20class(學(xué)生班級(jí))字符型20date(時(shí)間)字符型20content(時(shí)間)字符型20brief(備注)字符型20Leave:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(學(xué)生代號(hào))字符型20name(學(xué)生名字)字符型20class(所屬

6、班級(jí))字符型20major(主修)字符型20date(時(shí)間)字符型20reason(原因)字符型20Major:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(專(zhuān)業(yè)代號(hào))字符型20name(專(zhuān)業(yè)名字)字符型20departmrnt(所屬系)字符型20brief(批注)字符型20Outgrade:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(學(xué)生代號(hào))字符型20name(學(xué)生名字)字符型20departmrnt(所屬系)字符型20major(專(zhuān)業(yè))字符型20class(所屬班級(jí))字符型20date(時(shí)間)字符型20Brief(批注)字符型20Schoolship:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明ID(獎(jiǎng)勵(lì)事件代號(hào))字符型20name(獎(jiǎng)勵(lì)名

7、稱(chēng))字符型20type(類(lèi)型)字符型20leave(獲獎(jiǎng)級(jí)別)字符型20person(獲獎(jiǎng)人)字符型20brief(批注)字符型20Date(時(shí)間)字符型20Score:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明ID (班級(jí)代號(hào))字符型20class(班級(jí)名字)字符型20time(所屬系)字符型20code(主修)字符型20name(老師)字符型20subject(批注)字符型20Type(考試類(lèi)型)字符型20Score(分?jǐn)?shù))字符型20Makeup_score(補(bǔ)考分)字符型20Absent(缺席記錄)字符型20Student:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(班級(jí)代號(hào))字符型20name(班級(jí)名字)字符型20cla

8、ss(所屬系)字符型20sex(主修)字符型20folk(老師)字符型20political(批注)字符型20Oldname(原名)字符型20Family(家庭出身)字符型20Phone(聯(lián)系電話)字符型20Native(籍貫)字符型20Enroll_date(入學(xué)日期)字符型20Graduate_date(畢業(yè)時(shí)間)字符型20Address(家庭住址)字符型20Birthday(生日)字符型20Department(所屬系)字符型20Major(專(zhuān)業(yè))字符型20。字符型Suspend:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(學(xué)生代號(hào))字符型20name(學(xué)生名字)字符型20class(所屬班)字符型2

9、0date(時(shí)間)字符型20time(次數(shù))字符型20reason(原因)字符型20Transfer:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明code(學(xué)生代號(hào))字符型20name(學(xué)生名字)字符型20class(所屬班)字符型20date(時(shí)間)字符型20reason(原因)字符型20User:數(shù)據(jù)項(xiàng)名類(lèi)型長(zhǎng)度注明user(班級(jí)代號(hào))字符型20passwb(班級(jí)名字)字符型20數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)存儲(chǔ):數(shù)據(jù)存儲(chǔ)名:班級(jí)信息記錄輸入:管理員信息維護(hù) 輸出 :學(xué)生班級(jí)信息數(shù)據(jù)結(jié)構(gòu):班級(jí)號(hào)+班級(jí)名+所屬系+專(zhuān)業(yè)+老師+備注說(shuō)明:數(shù)據(jù)存儲(chǔ)名:轉(zhuǎn)專(zhuān)業(yè)記錄輸入:管理員信息維護(hù) 輸出 :轉(zhuǎn)專(zhuān)業(yè)信息數(shù)據(jù)結(jié)構(gòu):代號(hào)+名字+過(guò)去班級(jí)+現(xiàn)

10、在班級(jí)說(shuō)明數(shù)據(jù)存儲(chǔ)名:院系信息記錄輸入:管理員信息維護(hù)和查詢(xún)信息 輸出 :院系信息數(shù)據(jù)結(jié)構(gòu):系編號(hào)+系名+備注說(shuō)明:數(shù)據(jù)存儲(chǔ)名:測(cè)試科目信息記錄輸入:管理員信息維護(hù)和查詢(xún)信息 輸出 :測(cè)試科目信息數(shù)據(jù)結(jié)構(gòu):科目代號(hào)+ 科目名稱(chēng)說(shuō)明數(shù)據(jù)存儲(chǔ)名:測(cè)試時(shí)間信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:測(cè)試時(shí)間信息數(shù)據(jù)結(jié)構(gòu):測(cè)試時(shí)間代號(hào)+測(cè)試時(shí)間說(shuō)明:數(shù)據(jù)存儲(chǔ)名:測(cè)試類(lèi)新信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:測(cè)試類(lèi)型信息數(shù)據(jù)結(jié)構(gòu):測(cè)試類(lèi)型代號(hào)+測(cè)試類(lèi)型說(shuō)明:數(shù)據(jù)存儲(chǔ)名:懲罰信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:懲罰信息數(shù)據(jù)結(jié)構(gòu):事件代號(hào)+學(xué)生學(xué)號(hào)+學(xué)生名字+所屬班級(jí)+發(fā)生日期+事

11、件+備注說(shuō)明:數(shù)據(jù)存儲(chǔ)名:開(kāi)除信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:開(kāi)除信息數(shù)據(jù)結(jié)構(gòu):學(xué)號(hào)+名字+班級(jí)+時(shí)間+原因說(shuō)明:數(shù)據(jù)存儲(chǔ)名:專(zhuān)業(yè)信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:專(zhuān)業(yè)信息數(shù)據(jù)結(jié)構(gòu):專(zhuān)業(yè)號(hào)+專(zhuān)業(yè)名+所屬系+備注說(shuō)明:數(shù)據(jù)存儲(chǔ)名:獲獎(jiǎng)信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:獲獎(jiǎng)信息數(shù)據(jù)結(jié)構(gòu):獎(jiǎng)勵(lì)編號(hào)+獎(jiǎng)項(xiàng)名稱(chēng)+類(lèi)型+等級(jí)+獲獎(jiǎng)人+備注+時(shí)間說(shuō)明:數(shù)據(jù)存儲(chǔ)名:分?jǐn)?shù)信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:分?jǐn)?shù)信息數(shù)據(jù)結(jié)構(gòu):名次+班級(jí)+考試時(shí)間+學(xué)號(hào)+名字+科目+考試類(lèi)型+分?jǐn)?shù)+補(bǔ)考分?jǐn)?shù)+缺 席記錄說(shuō)明:數(shù)據(jù)存儲(chǔ)名:學(xué)生信息記錄 輸入:管理員維護(hù)信息和查詢(xún)

12、信息 輸出:學(xué)生信息數(shù)據(jù)結(jié)構(gòu):學(xué)號(hào)+名字+班級(jí)+性別+民族+政治面貌+家庭出身+聯(lián)系電話+籍貫+入學(xué)日期+畢業(yè)日期+地址+生日+院系+身份證號(hào)碼+郵政編碼+專(zhuān)業(yè)+教育類(lèi)型+家庭成員+成員政治面貌+工作單位+成員聯(lián)系電話+德育考核+獎(jiǎng)懲記錄說(shuō)明:數(shù)據(jù)存儲(chǔ)名:休學(xué)信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:休學(xué)信息數(shù)據(jù)結(jié)構(gòu):休學(xué)編號(hào)+學(xué)號(hào)+姓名+班別+時(shí)間+原因說(shuō)明:數(shù)據(jù)存儲(chǔ)名:轉(zhuǎn)學(xué)信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:轉(zhuǎn)學(xué)信息數(shù)據(jù)結(jié)構(gòu):轉(zhuǎn)學(xué)編號(hào)+學(xué)號(hào)+姓名+班別+時(shí)間+原因說(shuō)明:數(shù)據(jù)存儲(chǔ)名:用戶信息記錄 輸入:管理員維護(hù)信息和查詢(xún)信息 輸出:用戶信息數(shù)據(jù)結(jié)構(gòu):用戶名+密碼+是否管理

13、員說(shuō)明:師資科學(xué)生管理系統(tǒng)軟件學(xué)生處系辦公室一般用戶教務(wù)處數(shù)據(jù)流圖:頂層數(shù)據(jù)流圖三、概念結(jié)構(gòu)設(shè)計(jì)E-R圖Class表ER圖DepartmentER圖、Score表ER圖;Student表ER圖:四、邏輯結(jié)構(gòu)設(shè)計(jì)。1.關(guān)系模式:班級(jí)(班級(jí)號(hào),班級(jí)名,所屬系,專(zhuān)業(yè),老師,備注)轉(zhuǎn)專(zhuān)業(yè)(代號(hào),名字,過(guò)去班級(jí),現(xiàn)在班級(jí))院系(系編號(hào),系名,備注)測(cè)試科目(科目代號(hào),科目名字)測(cè)試時(shí)間(測(cè)試事件代號(hào),時(shí)間)測(cè)試類(lèi)型(類(lèi)型編號(hào),類(lèi)型名)懲罰(事件代號(hào),學(xué)生學(xué)號(hào),學(xué)生名字,所屬班級(jí),發(fā)生日期,事件,備) 開(kāi)除(學(xué)號(hào),名字,班級(jí),時(shí)間,原因)專(zhuān)業(yè)(專(zhuān)業(yè)號(hào),專(zhuān)業(yè)名,所屬系,備注)獎(jiǎng)勵(lì)(獎(jiǎng)勵(lì)編號(hào),獎(jiǎng)項(xiàng)名稱(chēng),類(lèi)型,

14、等級(jí),獲獎(jiǎng)人,備注,時(shí)間)分?jǐn)?shù)(名次,班級(jí),考試時(shí)間,學(xué)號(hào),名字,科目,考試類(lèi)型,分?jǐn)?shù),補(bǔ) 席記錄) 學(xué)生(學(xué)號(hào),名字,班級(jí),性別,民族,政治面貌,家庭出身,聯(lián)系電話,籍貫,入學(xué)日期,畢業(yè)日期,地址,生日,院系,身份證號(hào)碼,郵政編碼,專(zhuān)業(yè),教育類(lèi)型,家庭成員,成員政治面貌,工作單位,成員聯(lián)系電話,德育考核,獎(jiǎng)懲記錄)休學(xué)(休學(xué)編號(hào),學(xué)號(hào),姓名,班別,時(shí)間,原因)轉(zhuǎn)學(xué)(轉(zhuǎn)學(xué)編號(hào),學(xué)號(hào),姓名,班別,時(shí)間,原因)用戶(用戶名,密碼,是否管理員)2.系統(tǒng)結(jié)構(gòu)圖:3.安全性和完整性: 對(duì)于管理人員(Admin)對(duì)系統(tǒng)具有完全的支配權(quán),可以查詢(xún)學(xué)生、院系等的信息,同時(shí)也可以對(duì)這些數(shù)據(jù)進(jìn)行修改,同時(shí)還可以對(duì)

15、系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行備份和修復(fù)。而普通用戶只能進(jìn)行非修改性的操作,查詢(xún)自己需要的信息,這樣保證了系統(tǒng)不受非法人員的干擾和破壞。五、數(shù)據(jù)庫(kù)實(shí)施1.創(chuàng)建數(shù)據(jù)庫(kù):創(chuàng)建數(shù)據(jù)庫(kù)school:(1)設(shè)置數(shù)據(jù)文件的初始大小為1MB,數(shù)據(jù)文件按1MB增長(zhǎng),最大大小為100MB。(2)設(shè)置日志文件件初始大小為1MB,按1MB增長(zhǎng),最大大小為100MBCREATE DATABASE schoolon(name=school_data,filename=I:DBschool_Data.mdf,size=1MB,maxsize=100MB,filegrowth=1MB)log on(name=school_log,file

16、name=I:DBschool_log.mdf.ldf,size=1MB,maxsize=100MB,filegrowth=1MB);創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象:CREATE TABLE student( code char(20) NOT NULL , name char(20) NULL , class char(20) NULL , sex char(20) NULL , flok char(20) NULL , political char(20) NULL , oldname char(20) NULL , family char(20) NULL , phone char(20) NULL ,

17、 native char(20) NULL , enroll_da char(20) NULL , graduate char(20) NULL , address char(20) NULL , birthday char(20) NULL , department char(20) NULL , IDCard char(20) NULL , postcode char(20) NULL , major char(20) NULL , edu_sys char(20) NULL , family_relation char(20) NULL , framily_name char(20) N

18、ULL , framily_political char (20) NULL , PRIMARY KEY(code) CREATE TABLE class ( code char (20) NOT NULL , name char (20) NOT NULL , department char (20) NULL , major char (20) NULL , teacher char (20) NULL , brief char (20) NULL , PRIMARY KEY(code) CREATE TABLE degrade ( code char (20) NOT NULL , na

19、me char (20) NOT NULL , class_pas char (20) NULL , class_now char (20) NULL , date char (20) NULL , reason char (20) NULL, PRIMARY KEY(code) ) CREATE TABLE department ( code char (20) NOT NULL , name char (20) NOT NULL , brief char (20) NULL , PRIMARY KEY(code),) CREATE TABLE examsubject ( code char

20、 (20) NOT NULL , name char (20) NULL , PRIMARY KEY(code) CREATE TABLE examtime ( ID char (20) NOT NULL , time char (20) NULL , PRIMARY KEY(ID) CREATE TABLE examtype ( code char (20) NOT NULL , name char (20) NULL, PRIMARY KEY(code) CREATE TABLE honor ( ID char(20) NOT NULL , code char(20) NOT NULL ,

21、 name char(20) NULL , class char(20) NULL , date char(20) NULL , content char(20) NULL , brief char(20) NULL, PRIMARY KEY(ID), FOREIGN KEY(code) REFERENCES student(code) ) CREATE TABLE leave( code char(20) NOT NULL , name char(20) NOT NULL , class char(20) NULL , date char(20) NULL , reason char(20)

22、 NULL , FOREIGN KEY(code) REFERENCES student(code) ) CREATE TABLE major( code char(20) NOT NULL , name char(20) NULL , department char(20) NULL , brief char(20) NULL , PRIMARY KEY(code) CREATE TABLE outgrade ( code char(20) NOT NULL , name char(20) NULL , department char(20) NULL , major char(20) NU

23、LL , class char(20) NULL , date char(20) NULL , brief char(20) NULL FOREIGN KEY(code) REFERENCES student(code) ) CREATE TABLE scholarship ( ID char(20) NOT NULL , name char(20) NOT NULL , type char(20) NULL , level char(20) NULL , person char(20) NULL , brief char(20) NULL , date char(20) NULL , PRI

24、MARY KEY(ID) CREATE TABLE score ( ID char (20) NOT NULL , class char (20) NULL , time char (20) NULL , code char (20) NULL , name char (20) NULL , subject char (20) NULL , type char (20) NULL , score char (20) NULL , makeup_score char (20) NULL , absent char (10) NULL , PRIMARY KEY(ID), FOREIGN KEY(

25、code) REFERENCES student(code) ) CREATE TABLE suspand ( code char(20) NOT NULL , name char(20) NULL , class char(20) NULL , date char(20) NULL , time char(20) NULL , reason char(20) NULL , FOREIGN KEY(code) REFERENCES student(code) ) CREATE TABLE transfer ( code char(20) NOT NULL , name char(20) NUL

26、L , class char(20) NULL , date char(20) NULL , reason char(20) NULL , FOREIGN KEY(code) REFERENCES student(code) ) CREATE TABLE user( user char(20) NOT NULL , passwd char(10) NOT NULL , isadmin char(10) NULL , PRIMARY KEY(user) 2.用戶界面設(shè)計(jì)設(shè)計(jì)方案:采用窗口式界面,包括一個(gè)登錄界面,一個(gè)主界面,主界面中又按功能需求的不同分為六個(gè)功能菜單項(xiàng)和一個(gè)幫助菜單項(xiàng),而每個(gè)菜單

27、項(xiàng)中有按需求的不同分為多個(gè)不同的子項(xiàng)。實(shí)施和代碼:(1) 登錄框的設(shè)計(jì):利用在屏幕上顯示的對(duì)話框的基類(lèi)CDialog類(lèi)來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)介的對(duì)話框效果:源代碼代碼:#include stdafx.h#include school.h#include LoginDlg.h#include userset.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifCLoginDlg:CLoginDlg(CWnd* pParent /*=NULL*/): CDialog(CLoginDlg

28、:IDD, pParent)/AFX_DATA_INIT(CLoginDlg)m_strUser = _T();m_strPass = _T();/AFX_DATA_INITvoid CLoginDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CLoginDlg)DDX_Control(pDX, IDC_EDIT1, m_ctrPass);DDX_Control(pDX, IDC_COMBO1, m_ctrUser);DDX_CBString(pDX, IDC_COMBO1, m_s

29、trUser);DDX_Text(pDX, IDC_EDIT1, m_strPass);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CLoginDlg, CDialog)/AFX_MSG_MAP(CLoginDlg)/AFX_MSG_MAPEND_MESSAGE_MAP()void CLoginDlg:OnOK() / TODO: Add extra validation hereCUserSet recordset;CString strSQL;UpdateData(TRUE);CSchoolApp* ptheApp = (CSchoolApp *) AfxGetApp()

30、;strSQL.Format(select * from user where user=%s AND passwd=%s,m_strUser,m_strPass);if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);return ;if(recordset.GetRecordCount()=0)recordset.Close();MessageBox();m_strPass=;m_ctrPass.SetFocus();UpdateData(FALSE);elseptheApp-m_bIsAdmin = r

31、ecordset.m_isadmin;recordset.Close();CDialog:OnOK();BOOL CLoginDlg:OnInitDialog() CDialog:OnInitDialog();CUserSet recordset ;CString strSQL;UpdateData(TRUE);strSQL=select * from user;if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);return FALSE;while(!recordset.IsEOF()m_ctrUser.

32、AddString(recordset.m_user);recordset.MoveNext();recordset.Close();return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CLoginDlg:OnCancel() / TODO: Add extra cleanup hereCDialog:OnCancel();(2) 主界面的設(shè)計(jì):主界面包括一個(gè)菜單欄和7個(gè)菜單項(xiàng),分別表示了系統(tǒng)管理,基礎(chǔ)管理

33、,學(xué)生管理,成績(jī)管理,學(xué)籍變動(dòng)管理,數(shù)據(jù)庫(kù)管理,幫助這7個(gè)不同的功能,讓使用者一目了然。 實(shí)現(xiàn)效果:實(shí)現(xiàn)代碼:/ MajorDlg.cpp : implementation file/#include stdafx.h#include school.h#include MajorDlg.h#include DepartmentSet.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMajorDlg dialogCMajorDlg:CMajorDlg(CWnd*

34、pParent /*=NULL*/): CDialog(CMajorDlg:IDD, pParent)/AFX_DATA_INIT(CMajorDlg)m_strDepartment = _T();m_strCode = _T();m_strInfo = _T();m_strName = _T();/AFX_DATA_INITvoid CMajorDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMajorDlg)DDX_Control(pDX, IDC_COMBO_DEPARTME

35、NT, m_ctrDepartment);DDX_Control(pDX, IDC_LIST1, m_ctrList);DDX_Control(pDX, IDC_BUTTON_SAVE, m_bntSave);DDX_Control(pDX, IDC_BUTTON_NEW, m_bntNew);DDX_Control(pDX, IDC_BUTTON_MODIFY, m_bntModify);DDX_Control(pDX, IDC_BUTTON_DELETE, m_bntDelete);DDX_CBString(pDX, IDC_COMBO_DEPARTMENT, m_strDepartmen

36、t);DDX_Text(pDX, IDC_EDIT_CODE, m_strCode);DDX_Text(pDX, IDC_EDIT_INFO, m_strInfo);DDX_Text(pDX, IDC_EDIT_NAME, m_strName);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMajorDlg, CDialog)/AFX_MSG_MAP(CMajorDlg)ON_BN_CLICKED(IDC_BUTTON_NEW, OnButtonNew)ON_BN_CLICKED(IDC_BUTTON_SAVE, OnButtonSave)ON_BN_CLICKED(IDC_

37、BUTTON_DELETE, OnButtonDelete)ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnButtonModify)ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMajorDlg message handlersBOOL CMajorDlg:OnInitDialog() CDialog:OnInitDialog();CDepartmentSet DeptSet ;CString strSQL;strSQL=select * from departme

38、nt;if(!DeptSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);while(!DeptSet.IsEOF()m_ctrDepartment.AddString(DeptSet.m_name);DeptSet.MoveNext();DeptSet.Close();m_ctrList.InsertColumn(0,);m_ctrList.InsertColumn(1,);m_ctrList.InsertColumn(2,);m_ctrList.InsertColumn(3,);m_ctrList.SetColumnWid

39、th(0,60);m_ctrList.SetColumnWidth(1,120);m_ctrList.SetColumnWidth(2,120);m_ctrList.SetColumnWidth(3,160);m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);/m_bntSave.EnableWindow(FALSE);m_bntNew.EnableWindow(FALSE);m_bntDelete.EnableWindow(FALSE);m_bntModify.EnableWindow(FALSE);Refre

40、shData();return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CMajorDlg:RefreshData()m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);UpdateData(TRUE);CString strSQL;strSQL.Format( select * from major );if(!m_recordset.Open(AFX

41、_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);return ;int i=0;while(!m_recordset.IsEOF()m_ctrList.InsertItem(i,m_recordset.m_code);m_ctrList.SetItemText(i,1,m_recordset.m_name);m_ctrList.SetItemText(i,2,m_recordset.m_department);m_ctrList.SetItemText(i,3,m_recordset.m_brief);i+;m_recordset.MoveNex

42、t();m_recordset.Close();m_ctrList.SetRedraw(TRUE);/m_bntSave.EnableWindow(FALSE);m_bntNew.EnableWindow();m_bntDelete.EnableWindow(FALSE);m_bntModify.EnableWindow(FALSE);void CMajorDlg:OnButtonNew() / TODO: Add your control notification handler code herem_strName= ;m_strCode= ;m_strDepartment = ;m_st

43、rInfo= ;m_bntSave.EnableWindow();m_bntNew.EnableWindow(FALSE);m_bntDelete.EnableWindow(FALSE);m_bntModify.EnableWindow(FALSE);UpdateData(FALSE);void CMajorDlg:OnButtonSave() / TODO: Add your control notification handler code hereUpdateData();if(m_strName=)AfxMessageBox();return;if(m_strCode=)AfxMess

44、ageBox();return;if(m_strDepartment=)AfxMessageBox();return;CString strSQL;strSQL.Format(select * from major where code=%s,m_strCode);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);return ;if(m_recordset.GetRecordCount()!=0)AfxMessageBox();m_strCode = ;UpdateData(FALSE);m_rec

45、ordset.Close();return;m_recordset.AddNew();m_recordset.m_name=m_strName;m_recordset.m_code=m_strCode;m_recordset.m_department=m_strDepartment ;m_recordset.m_brief=m_strInfo;m_recordset.Update();m_recordset.Close();RefreshData();void CMajorDlg:OnButtonDelete() / TODO: Add your control notification ha

46、ndler code hereint i = m_ctrList.GetSelectionMark();if(0i)MessageBox();return;CString strSQL;strSQL.Format(select * from major where code= %s ,m_ctrList.GetItemText(i,0);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);return ;/m_recordset.Delete();m_recordset.Close();/Refresh

47、Data();m_strName= ;m_strCode= ;m_strDepartment = ;m_strInfo= ;UpdateData(FALSE);void CMajorDlg:OnButtonModify() / TODO: Add your control notification handler code hereUpdateData();int i = m_ctrList.GetSelectionMark();if(0i)MessageBox();return;if(m_strName=)AfxMessageBox();return;if(m_strCode=)AfxMes

48、sageBox();return;if(m_strDepartment=)AfxMessageBox();return;CString strSQL;strSQL.Format(select * from major where code= %s ,m_ctrList.GetItemText(i,0);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);return ;m_recordset.Edit();m_recordset.m_name=m_strName;m_recordset.m_code=m

49、_strCode;m_recordset.m_department=m_strDepartment ;m_recordset.m_brief=m_strInfo;m_recordset.Update();m_recordset.Close();RefreshData();void CMajorDlg:OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code hereCString strSQL;UpdateData(TRUE);int i = m_ctrLis

50、t.GetSelectionMark();strSQL.Format(select * from major where code=%s,m_ctrList.GetItemText(i,0);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(!,MB_OK);return ;m_strName=m_recordset.m_name;m_strCode=m_recordset.m_code;m_strDepartment =m_recordset.m_department;m_strInfo=m_recordset.m_brief;m_recordset.Close();U

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!