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

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

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

15 積分

下載資源

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

資源描述:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15、系統(tǒng)數(shù)據(jù)庫進(jìn)行備份和修復(fù)。而普通用戶只能進(jìn)行非修改性的操作,查詢自己需要的信息,這樣保證了系統(tǒng)不受非法人員的干擾和破壞。五、數(shù)據(jù)庫實(shí)施1.創(chuàng)建數(shù)據(jù)庫:創(chuàng)建數(shù)據(jù)庫school:(1)設(shè)置數(shù)據(jù)文件的初始大小為1MB,數(shù)據(jù)文件按1MB增長,最大大小為100MB。(2)設(shè)置日志文件件初始大小為1MB,按1MB增長,最大大小為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ù)庫對象: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è)計設(shè)計方案:采用窗口式界面,包括一個登錄界面,一個主界面,主界面中又按功能需求的不同分為六個功能菜單項和一個幫助菜單項,而每個菜單

27、項中有按需求的不同分為多個不同的子項。實(shí)施和代碼:(1) 登錄框的設(shè)計:利用在屏幕上顯示的對話框的基類CDialog類來實(shí)現(xiàn)一個簡介的對話框效果:源代碼代碼:#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è)計:主界面包括一個菜單欄和7個菜單項,分別表示了系統(tǒng)管理,基礎(chǔ)管理

33、,學(xué)生管理,成績管理,學(xué)籍變動管理,數(shù)據(jù)庫管理,幫助這7個不同的功能,讓使用者一目了然。 實(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

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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